修改docker中MySQL5.7.34(官方镜像)配置文件
因为不同版本的MySQL镜像的配置文件所在目录以及文件名可能不同(所以我在网上找了很多文章都没有解决到我的问题/(ㄒoㄒ)/~~),本文只针对MySQL5.7.34官方镜像进行讨论,以把"lower_case_table_names"的值从0修改为1为例。
1.访问下面这个网站可以获取到拉取docker镜像的命令
hub.docker.com
拉取MySQL5.7.34官方镜像的命令为
docker pull mysql:5.7.34
2.启动容器
docker run --name mysql5734 -p 3306:3306 --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.34
3.先看一眼当前"lower_case_table_names"值为多少
[root@localhost ~]# mysql -uroot -h127.0.0.1 -p123456
MySQL [(none)]> show variables like 'lower_case_table_names';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 0 |
+------------------------+-------+
1 row in set (0.001 sec)
4.进入到该docker容器内部
docker exec -it mysql5734 /bin/bash
5.容器内部默认是没有vim的,所以需要安装vim
# 更新
apt-get update
# 安装vim
apt-get install vim
6.找一下配置文件的位置,my.cnf和mysqld.cnf我都搜了一下,都打开看了之后确认该容器的配置文件是./etc/mysql/mysql.conf.d/mysqld.cnf
root@e0a01626cd69:/# find -name my.cnf
./etc/alternatives/my.cnf
./etc/mysql/my.cnf
./var/lib/dpkg/alternatives/my.cnf
root@e0a01626cd69:/# find -name mysqld.cnf
./etc/mysql/mysql.conf.d/mysqld.cnf
7.进入该目录,打开配置文件
# 进入目标目录
cd etc/mysql/mysql.conf.d/
# 打开配置文件
vim mysqld.cnf
8.在配置文件中的[mysqld]下方增加一行"lower_case_table_names=1"
9.退出容器内部并重启容器
# 退出容器内部
exit
# 重启容器
docker restart mysql5734
10.再看一眼当前"lower_case_table_names"值为多少
[root@localhost ~]# mysql -uroot -h127.0.0.1 -p123456
MySQL [(none)]> show variables like 'lower_case_table_names';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.001 sec)
11.这样就完成了