命令行上的更改每次重新启动时都无效,因为必须更改mysql的sql_mode。 这是为了修改docker下的mysql配置文件。
操作系统: centos7
docker版本: docker版本17.05.0-ce,build 89658be
mysql版本:5.7.18
1 .拉镜像
docker pull mysql:5.7.18
2 .列出镜像
[root@zk01 ~]# docker images
repositorytagimageidcreatedsize
MySQL5.7. 18 e 799 c7f9AE9C5 weeks ago 407 MB
执行docker
docker run-d-p 330633603306---- namemymysql-e MySQL _ root _ password=123456 MySQL :5.7.18
4 .列出正在运行的容器
[root@zk01 docker]# docker ps
containeridimagecommandcreatedstatusportsnames
e 1066 Fe2db35 MySQL :5.7.18 ' docker-entry point . '6secondsagoup6seconds0.0. 033603306-3306/TCP MySQL
5 .进入容器
docker exec-ite 1066 Fe 2db 35/bin/bash
6 .查看配置文件
/etc/MySQL/MySQL.conf.d/mysqld.cn f
配置文件内容:
[mysqld]
PID-file=/var/run/mysqld/mysqld.PID
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
# log-error=/var/log/MySQL/error.log
# bydefaultweonlyacceptconnectionsfromlocalhost
#bind-address=127.0.0.1
# disabling symbolic-linksisrecommendedtopreventassortedsecurityrisks
#symbolic-links=0
查看mysql的sql_mode
mysql select @@global.sql_mode;
------------- -请参阅
| @@global.sql_mode |
------------- -请参阅
| only_full_group_by,strict_trans_tables,no_zero_in_date,no_zero_date,error _ for _ did
------------- -请参阅
1行in set
8 .停止和删除容器
docker stop e1066fe2db35
docker rm e1066fe2db35
9 .重新启动容器并指定数据目录和配置文件
docker run-d-p 330633603306-v/soft/MySQL/my.cn f :/etc/MySQL/MySQL.conf.d/mysqld.cn f-v/soft /
10 .显示SQL _ mode
mysql select @@global.sql_mode;
-----------------
| @@global.sql_mode |
-----------------
| |
-----------------
1行in set
mysql select @@session.sql_mode;
-----------------
| @@session.sql_mode |
-----------------
| |
-----------------
1行in set
总结
以上是小编介绍的在docker下修改mysql配置文件的方法,希望对大家有帮助
如果您有任何问题或要求,请点击回复信息。 成千上万的网友会消除你的混乱。