码迷,mamicode.com
首页 > 数据库 > 详细

docker 下修改 mysql sql_mode和配置文件

时间:2019-03-24 23:17:21      阅读:438      评论:0      收藏:0      [点我收藏+]

标签:一个   输出   pre   -name   目录   mysq   chm   edit   etc   

原文:docker 下修改 mysql sql_mode和配置文件

打开PowerShell

首先创建mysql容器,这里我们指定使用mysql5.7的版本

docker run -d -p 3306:3306 --name mysql-docker -e MYSQL_ROOT_PASSWORD=root mysql:5.7

创建成功,查看一下运行状态

docker ps

技术图片

?

可以看到我们的容器正在运行中,现在进入容器,查看一下配置文件

?

docker exec -it mysql-docker /bin/bash
cat /etc/mysql/my.cnf

技术图片

可以看到这里包含了两个目录下的文件,查看一下,mysql.conf.d下,发现有我们需要更改的文件

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

技术图片

?

可以看到这里并没有 sql_mode的配置,说明mysql使用了默认的配置,我们可以进入mysql查看一下,

?

mysql -u root -p 

回车输入我们创建容器时设置的密码,也就是root,进入mysql?控制台,输入

show variables like ‘%sql_mode‘;

查看默认 sql_mode配置,可以看到默认的是

技术图片

这个时候我们就可以去更改配置文件了,输入

exit?退出mysql控制台,

然后我们再查看一下这个配置文件

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

把输出的内容复制一下,我们在本地新建一个同名文件,把内容粘贴进去,然后在 [mysqld]下面添加 sql_mode =?你的配置,比如:

技术图片

把这个文件保存一下,

然后切换到命令行,输入exit退出容器,

停止并删除docker-mysql容器,

docker stop mysql-docker
docker rm mysql-docker

然后我们修改下docker run?语句,把我们本地的配置文件映射覆盖到容器内部,重新配置一下容器

docker run -d -p 3306:3306 -v D:/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v D:/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=root --name mysql-docker mysql:5.7 

然后我们按照一开始的步骤,重新进入一下容器

docker exec -it mysql-docker /bin/bash

进入mysql

mysql -u root -p root

查看sql_mode是否被修改

 show variables like ‘%sql_mode‘;

可以看到已经修改成功

技术图片

大功告成,由于配置文件是由我们本地映射过去的,所以如果还需要改什么配置的话,直接更改我们本地的配置文件就好了

?

ps: 以上命令都是在powershell中完成的,cmd有可能不支持创建容器和进入容器的代码,docker?版本 18.03.1 for win

docker 下修改 mysql sql_mode和配置文件

标签:一个   输出   pre   -name   目录   mysq   chm   edit   etc   

原文地址:https://www.cnblogs.com/lonelyxmas/p/10591190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!