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!

MySQL is suitable for beginners to learn database skills. 1. Install MySQL server and client tools. 2. Understand basic SQL queries, such as SELECT. 3. Master data operations: create tables, insert, update, and delete data. 4. Learn advanced skills: subquery and window functions. 5. Debugging and optimization: Check syntax, use indexes, avoid SELECT*, and use LIMIT.

MySQL efficiently manages structured data through table structure and SQL query, and implements inter-table relationships through foreign keys. 1. Define the data format and type when creating a table. 2. Use foreign keys to establish relationships between tables. 3. Improve performance through indexing and query optimization. 4. Regularly backup and monitor databases to ensure data security and performance optimization.

MySQL is an open source relational database management system that is widely used in Web development. Its key features include: 1. Supports multiple storage engines, such as InnoDB and MyISAM, suitable for different scenarios; 2. Provides master-slave replication functions to facilitate load balancing and data backup; 3. Improve query efficiency through query optimization and index use.

SQL is used to interact with MySQL database to realize data addition, deletion, modification, inspection and database design. 1) SQL performs data operations through SELECT, INSERT, UPDATE, DELETE statements; 2) Use CREATE, ALTER, DROP statements for database design and management; 3) Complex queries and data analysis are implemented through SQL to improve business decision-making efficiency.

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

The steps to build a MySQL database include: 1. Create a database and table, 2. Insert data, and 3. Conduct queries. First, use the CREATEDATABASE and CREATETABLE statements to create the database and table, then use the INSERTINTO statement to insert the data, and finally use the SELECT statement to query the data.

MySQL is suitable for beginners because it is easy to use and powerful. 1.MySQL is a relational database, and uses SQL for CRUD operations. 2. It is simple to install and requires the root user password to be configured. 3. Use INSERT, UPDATE, DELETE, and SELECT to perform data operations. 4. ORDERBY, WHERE and JOIN can be used for complex queries. 5. Debugging requires checking the syntax and use EXPLAIN to analyze the query. 6. Optimization suggestions include using indexes, choosing the right data type and good programming habits.


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

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

WebStorm Mac version
Useful JavaScript development tools

Dreamweaver Mac version
Visual web development tools

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