In this article we will focus only on showing how to quickly run MySQL database using Docker-Compose. In short: docker-compose MySQL. Using volumes, we do not lose changes that we make in the database. Changes will still be visible after closing and restarting the container.
Table of Contents
MySQL is a popular open-source relational database management system (RDBMS) that is used to store and manage data. It is designed to be fast, reliable, and easy to use. MySQL is often used for web-based applications, as it supports many different programming languages, including PHP, Python, and Java.
To get started with MySQL, you will need to install the MySQL server on your computer. You can then use a MySQL client, such as the MySQL command-line tool or a graphical interface like MySQL Workbench, to connect to the server and create and manage databases and tables.
Once you have MySQL set up, you can use SQL (Structured Query Language) to create, modify, and query your databases and tables. You can use SQL commands to insert, update, delete, and select data from your tables, as well as to create, alter, and drop tables and databases.
There are many resources available online to help you learn more about MySQL and how to use it effectively. Some good places to start include the MySQL documentation and tutorials, as well as online forums and communities where you can ask questions and get help from other MySQL users.
Docker Compose is a tool for defining and running multi-container Docker applications. It allows you to define the dependencies of your applications in a single YAML file, and then use a single command to start all of the containers with a single command.
Advantages Of Docker And Docker-Compose
- Isolation: Docker containers provide a way to run applications in an isolated environment, which can help reduce conflicts between different applications or different versions of the same application.
- Portability: Docker containers are designed to be portable, which means you can easily move them from one system to another. This can make it easier to develop, test, and deploy applications, as you don’t have to worry about setting up the necessary dependencies on every system.
- Efficiency: Docker containers are lightweight and efficient, as they only include the necessary components for running the application. This can make it faster to start and stop containers, and it can also save resources on the host system.
- Scalability: Docker Compose makes it easy to scale applications by defining and running multiple containers in a single command. This can be useful for applications that need to handle a lot of traffic or that need to run on multiple servers.
- Simplicity: Docker Compose provides a simple, declarative syntax for defining and running multi-container applications. This can make it easier to set up and manage complex applications, as you don’t have to worry about the details of starting and stopping individual containers.
Run MySQL Database Using Docker-Compose
version: '3' services: mysql-db: image: mysql:8.0 hostname: mysql-db container_name: mysql_db restart: always environment: MYSQL_DATABASE: 'bigdataetl' MYSQL_USER: 'user_bigdataetl' MYSQL_PASSWORD: 'password_bigdataetl' MYSQL_ROOT_PASSWORD: 'password_for_root_user' ports: - '3306:3306' volumes: - my-db-volume:/var/lib/mysql volumes: my-db-volume:
This Docker Compose file creates a MySQL container using the MySQL 8.0 image. It sets several environment variables to configure the MySQL server, including the root password, the name of a database to create, and the name and password of a user. It also creates a volume to store the data in the MySQL container.
We save the file and then we just need to run the following command being in the directory where we have the file previously created by us YML file.
To start the MySQL container, you can use the
docker-compose up command. This will start the MySQL container and any other containers that you have defined in the Docker Compose file. You can then connect to the MySQL server using a MySQL client, such as the MySQL command-line tool or a graphical interface like MySQL Workbench.
docker-compose up -d
After a few moments, the container will be created, up and running. We can check the status of our container.
docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------- mysql_db docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
Could You Please Share This Post? I appreciate It And Thank YOU! :) Have A Nice Day!
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?