docker 中 对mysql 设置不区分大小写
- 进入docker中
docker exec -it mysql bash
mysql是我的容器名称 个别会有不同 - 查看 路径 /etc/my.cnf
- 如果没有则先在本地创建 该文件写入以下内容:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
lower_case_table_names = 1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
主要是添加:lower_case_table_names = 1
因为没有
4. 执行 sudo docker cp 本地文件my.cnf路径 mysql:/etc/my.cnf
即可
解读:sudo docker cp 本地文件my.cnf路径 容器名称:容器里的文件名称
5. 没有问题的话 执行 重启容器命令
sudo docker restart mysql
如果有该文件
- 先将docker的文件复制到本地
# 用法
sudo docker cp ${容器名}:${文件在容器内的地址} ${文件在本机的地址}
sudo docker cp mysql_test:/etc/mysql/my.cnf ~/
- copy一个副本进行修改
[mysqld]下添加一行lower_case_table_names = 1
保存 并修改为my.cnf - 通过docker cp命令将本地修改好的配置文件上传到容器内:
sudo docker cp ${本地文件路径} ${容器名}:${容器中文件路径} sudo docker cp ~/my.cnf mysql_test:/etc/mysql/my.cnf
- 重启容器
sudo docker restart mysql
即可完成