1、下载mysql 5.7镜像

docker pull mysql:5.7

2、创建mysql容器并启动

docker run -d -p 3306:3306 -e MYSQL_USER="ppx" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysqltest1 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci

对上述参数进行解释:

-e MYSQL_USER=""  :设置用户名-e MYSQL_PASSWORD="":设置该用户的密码-e MYSQL_ROOT_PASSWORD="":设置root用户密码--character-set-server=utf8:设置字符集为utf8--collation-server=utf8_general_cli:设置字符规则为utf8_general_cli

3、对mysql进行挂载

mkdir /optmkdir /opt/mysqlmkdir /opt/mysql/confmkdir /opt/mysql/data 创建并修改my.cnf配置文件vim /opt/mysql/conf/my.cnf my.cnf添加如下内容:[mysqld]user=mysqlcharacter-set-server=utf8default_authentication_plugin=mysql_native_password[client]default-character-set=utf8[mysql]default-character-set=utf8
挂载目录可以按照自己想法建,但上下级关系要正确,即mysql下有conf 和 data。

4、创建容器并启动

docker run -d -p 3307:3306 --privileged=true -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 mysql:5.7

参数说明:

     --privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限    -v /opt/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件    -v /opt/mysql/data:/var/lib/mysql:映射数据目录

5、设置mysql字符编码

vi /mydata/mysql/master/conf/my.cnf
[client]default-character-set=utf8 [mysql]default-character-set=utf8 [mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve