Docker下修改mysql配置文件
1、下载mysql镜像(默认下载最新的,通过 tag 可以下载指定版本)
docker pull mysql:5.7
2、首先创建mysql容器
方式一
-p 指定端口:3306,
-e MYSQL_ROOT_PASSWORD=123456 指定root账户密码:123456,
mysql:5.7 mysql版本为5.7
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
方式二
先将docker容器内的配置文件复制到本地
docker cp mysql:/etc/mysql /opt/docker/mysql/conf
-v 指定配置文件路径
docker run -p 3306:3306 --name mysql
-v /opt/docker/mysql/conf:/etc/mysql
-v /opt/docker/mysql/logs:/var/log/mysql
-v /opt/docker/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.7
3、进入mysql容器
docker exec -it mysql bash
4、查看mysql配置文件
cat /etc/mysql/my.cnf
可以看到这里包含了两个目录下的文件,查看一下,mysql.conf.d下,发现有我们需要更改的文件
cat /etc/mysql/mysql.conf.d/mysqld.cnf
需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性
Group by问题:
在 [mysqld] 下面添加代码:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
中文乱码问题:
在 [mysqld] 下面添加代码:
character-set-server=utf8
collation-server=utf8_general_ci
然后重启容器即可。