Docker 修改MySQL表大小写敏感
Docker 修改MySQL表大小写敏感
·
最近遇到一个问题,项目在Windows里运行正常,但在Linux里运行时就报错,提示好多表不存在,经过排查发现MySQL数据库中表名是大写的,然后报错信息里表名是小写的,于是我大胆的推测可能是Linux里MySQL默认对表大小写敏感,经过修改最后项目在Linux里也成功运行。
查看MySQL是否对表大小写敏感
查询结果:
lower_case_table_names=0(默认)区分大小写
lower_case_table_names=1表示不区分大小写
show Variables like '%table_names';
修改操作
修改/etc/my.cnf,在[mysqld]后边添加lower_case_table_names=1 重启mysql服务。
其他
MySQL在linux里是对表名大小写敏感,而在Windows中是对表名大小写不敏感的。
Docker 修改mysql 表大小写敏感
由于Linux里我是用Docker部署MySQL的,而mysql容器中没有vi命令也没有vim命令,又不想装,于是就用另外一种方式。
1.查看mysql配置文件 mysqld.cnf
docker exec b0aec76e2859 cat /etc/mysql/mysql.conf.d/mysqld.cnf
2.将配置文件mysqld.cnf从容器复制到宿主机/home
docker cp b0aec76e2859:/etc/mysql/mysql.conf.d/mysqld.cnf /home/mysqld.cnf
3.在配置文件mysqld.cnf中添加 lower_case_table_names=1
进入到/home目录下,找到mysqld.cnf,这里直接用vim改就好
4.将配置文件从宿主机复制到容器
docker cp /home/mysqld.cnf b0aec76e2859:/etc/mysql/mysql.conf.d/
5.重新启动容器
docker restart b0aec76e2859
更多推荐
已为社区贡献1条内容
所有评论(0)