What is the method to install mysql with docker
Quick completion
Just copy and paste and follow it to complete it quickly, you don’t need to check the detailed steps
docker pull mysql:5.7
docker run -d -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
cd /usr/local/mysql/conf
vim my.cnf
Paste the following content and save
[client] default_character_set=utf8 [mysqld] collation_server=utf8_general_ci character_set_server=utf8
docker restart mysql
Use the tool to test (remember to open the port), the root user password is 123456
Detailed steps
First search for the mirror
docker search mysql
Pull the image
The first one searched will do. If you don’t specify the version, you can get the latest version. I use 5.7
docker pull mysql:5.7
Create container (running image)
Use port 3306 both internally and externally (make sure your host’s port 3306 is not occupied, for example, your host also has mysql installed), and specify the root user The password is 123456
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql mysql:5.7
Enter the container
Connect to mysql inside the container, create a database, and test whether mysql is used normally
docker exec -it mysql /bin/bash
Create a table and insert data, everything is ok
Use the connection tool locally to connect
Use locally There is no problem connecting to the Navicat tool, inserting records, and querying
However, when inserting Chinese, an error is reported
Modify character set
The Chinese error must be a character set problem. Check the character set in the container (the client tool will process some character sets into local character sets), and you can see that most of them are Not utf8
show variables like 'character%';
Now the mysql configuration file is still in the container and is not mapped to the host. It is not very convenient to modify and it is not safe. Deleting the container will not
You need to use container data volume at this time. If you don’t understand, you can check the previous blog post: Click here
Use container data volume to mount mysql data, Configuration files and logs
Delete the above container and re-create a container. This time the command is as follows
docker run -d -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
Mount three directories, namely logs, data, and configuration files
Create mysql configuration file
The mysql configuration file directory has been mounted above, and you can directly operate the corresponding directory on the host machine
Create a new my in the configuration file directory. cnf configuration file, write the following content, set the client and mysql server encoding to utf8
[client]default_character_set=utf8[mysqld]collation_server=utf8_general_cicharacter_set_server=utf8
After changing the configuration file, restart the mysql container and enter the container again to view Character set, you can see that all are correct
Create the library table again, insert the Chinese test, and successfully insert
And the mysql data directory has also been mounted locally. Even if you delete the container and create a new container, you can use the same data volume to restore the previously created database table.
The above is the detailed content of What is the method to install mysql with docker. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Containerization technologies such as Docker enhance rather than replace Java's platform independence. 1) Ensure consistency across environments, 2) Manage dependencies, including specific JVM versions, 3) Simplify the deployment process to make Java applications more adaptable and manageable.

In MySQL, the function of foreign keys is to establish the relationship between tables and ensure the consistency and integrity of the data. Foreign keys maintain the effectiveness of data through reference integrity checks and cascading operations. Pay attention to performance optimization and avoid common errors when using them.

Docker is important on Linux because Linux is its native platform that provides rich tools and community support. 1. Install Docker: Use sudoapt-getupdate and sudoapt-getinstalldocker-cedocker-ce-clicotainerd.io. 2. Create and manage containers: Use dockerrun commands, such as dockerrun-d--namemynginx-p80:80nginx. 3. Write Dockerfile: Optimize the image size and use multi-stage construction. 4. Optimization and debugging: Use dockerlogs and dockerex

The main difference between MySQL and MariaDB is performance, functionality and license: 1. MySQL is developed by Oracle, and MariaDB is its fork. 2. MariaDB may perform better in high load environments. 3.MariaDB provides more storage engines and functions. 4.MySQL adopts a dual license, and MariaDB is completely open source. The existing infrastructure, performance requirements, functional requirements and license costs should be taken into account when choosing.

SQL is a standard language for managing relational databases, while MySQL is a database management system that uses SQL. SQL defines ways to interact with a database, including CRUD operations, while MySQL implements the SQL standard and provides additional features such as stored procedures and triggers.

MySQL and phpMyAdmin can be effectively managed through the following steps: 1. Create and delete database: Just click in phpMyAdmin to complete. 2. Manage tables: You can create tables, modify structures, and add indexes. 3. Data operation: Supports inserting, updating, deleting data and executing SQL queries. 4. Import and export data: Supports SQL, CSV, XML and other formats. 5. Optimization and monitoring: Use the OPTIMIZETABLE command to optimize tables and use query analyzers and monitoring tools to solve performance problems.

Installing MySQL on macOS can be achieved through the following steps: 1. Install Homebrew, using the command /bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". 2. Update Homebrew and use brewupdate. 3. Install MySQL and use brewinstallmysql. 4. Start MySQL service and use brewservicesstartmysql. After installation, you can use mysql-u
