1、拉取mysql 8.0.21版本镜像
2、查看镜像 docker images
3、在宿主机 /usr/local/mysql 下的 conf 文件夹下,创建 my.cnf 文件,并编辑内容
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
server-id=3306
user=mysql
general_log=1
character-set-server=utf8
collation-server=utf8_unicode_ci# 大小写不敏感
lower_case_table_names=1
autocommit=1
symbolic-links=0
default_authentication_plugin=mysql_native_password
4、启动命令
docker run -p 13306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/mysql/logs:/logs \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/mysql-files:/var/lib/mysql-files \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=密码 -d 8e85dd5c3255
查看容器启动情况
进入容器内部,处理远程连接问题
1、ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
2、刷新授权flush privileges;
5、 远程连接成功
备注:
lower_case_table_names=1 若首次启动容器时为大小写不敏感,后续若修改其值,重启容器将不会生效,必须删除宿主机 data 数据,重新启动新的容器