修改docker上的mysql5.7配置文件,例如:关闭ONLY_FULL_GROUP_BY模式

1,770 阅读1分钟

1、查询容器命令

docker ps

例如:

[root@www ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
8e2ad32a6a7a        mysql:5.7           "docker-entrypoint..."   2 days ago          Up 2 days           33060/tcp, 0.0.0.0:3389->3306/tcp   testmysql
321c77d0fca9        mysql:5.7           "docker-entrypoint..."   4 days ago          Up 4 days           33060/tcp, 0.0.0.0:3309->3306/tcp   mymysql

我要修改的是3309端口的mysql数据库配置文件,这里需要进入到 321c77d0fca9 容器

2、进入需要修改的容器

docker exec -it 321c77d0fca9 /bin/bash 

3、查看配置文件

more /etc/mysql/mysql.conf.d/mysqld.cnf

如有配置文件则继续下述操作

4、更新和安装vim(如已安装请跳过)

更新命令:

apt-get update

安装命令:

apt-get install vim

5、修改配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

6、进入编辑模式

修改或者增加sql_mode为以下模板,保存退出vim模式

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

7、退出容器

exit

8、重启容器

docker restart 321c77d0fca9 

eg:

root@321c77d0fca9:/# vim /etc/mysql/mysql.conf.d/mysqld.cnf
root@321c77d0fca9:/# exit
exit
[root@www ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
8e2ad32a6a7a        mysql:5.7           "docker-entrypoint..."   2 days ago          Up 2 days           33060/tcp, 0.0.0.0:3389->3306/tcp   testmysql
321c77d0fca9        mysql:5.7           "docker-entrypoint..."   4 days ago          Up 4 days           33060/tcp, 0.0.0.0:3309->3306/tcp   mymysql
[root@www~]# docker restart 321c77d0fca9 

9、其他:修改时区配置

default-time_zone =+8:00