docker修改mysql配置_docker 下修改 mysql sql_mode和配置文件

本文介绍了如何在Docker环境下修改MySQL的sql_mode配置。通过运行命令进入MySQL容器,查看配置文件,确定sql_mode的默认设置。接着,在本地编辑my.cnf文件,添加自定义sql_mode,将文件映射到容器内,重启容器以应用更改。通过这种方式,可以方便地管理和调整Docker中的MySQL配置。
摘要由CSDN通过智能技术生成

打开PowerShell

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

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

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

docker ps

2f82fa1cc4b387eb1e1ff006493bb63a.png

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

docker exec -it mysql-docker /bin/bash

cat /etc/mysql/my.cnf

1e0e052a8cc79245c98436f25a3b5b51.png

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

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

a3940d86317e545d6389de939784d5ed.png

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

mysql -u root -p

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

show variables like '%sql_mode';

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

978d795e9f4af393d08087cceb06bba7.png

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

exit 退出mysql控制台,

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

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

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

7561b2719bf76e2a28ee9f34b18e4ea0.png

把这个文件保存一下,

然后切换到命令行,输入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';

可以看到已经修改成功

e3acf732f28dd23c24947c108dc2bf47.png

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值