1.起因
会话级别的sql语句如下,服务重启则失效
use mysql;
select version();
select @@sql_mode;
SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
2.问题
mysql exec -it mysql /bin/bash
喜闻乐见没有vi命令,apt-get方式不可取,因为无网环境
考虑使用
docker update mysql --sql_mode =STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
提示no sql_mode flag
3.解决
将mysql的配置文件拷贝到宿主机修改,改完后再挪回容器
mysql是镜像名称
容器到宿主机
docker cp mysql:/etc/my.cnf /root/my.cnf
宿主机到容器
docker cp /root/my.cnf mysql:/etc/my.cnf
后续重启docker等操作略,本文主要阐述遇到的问题