在连接数据库的时候发现库里有表的名字只是大小写不一样,但就是连不上,我用的是mysql5.7.8.
默认没有开启忽略大小写,这里记录一下。
1. 查看数据库大小写配置
show variables like '%lower%';
±-----------------------±------+
| Variable_name | Value |
±-----------------------±------+
| lower_case_file_system | ON |
| lower_case_table_names | 0 |
±-----------------------±------+
2. 使用root权限登录,修改配置文件 /etc/my.cnf
需要注意的是配置文件的位置不一定就是这个,我们在使用docker搭建环境的时候MySQL的默认配置文件的路径是:/etc/mysql/mysql.conf.d/mysqld.cnf,所以在修改的时候我们需要明确配置文件的路径
3. 在配置文件的[mysqld]节点下,加入一行:
lower_case_table_names=1
4. 重启MySQL :
systemctl restart mysqld.service
扩展:
部署在docker环境中的MySQL数据库怎么忽略大小写
1、我们需要进入已经创建好的docker容器中
docker exec -it mysql bash
2、使用正常的MySQL命令进入MySQL
mysql -u root -p
3、重复上述修改配置文件的步骤
vim /etc/mysql/mysql.conf.d/mysqld.cnf
4、退出,并重启MySQL服务
docker restart mysql
文章讲述了在MySQL5.7.8中遇到表名大小写问题,如何检查和修改数据库配置以忽略大小写。步骤包括查看`lower_case_table_names`变量,编辑配置文件如`/etc/my.cnf`或`/etc/mysql/mysql.conf.d/mysqld.cnf`,将`lower_case_table_names`设置为1,然后重启MySQL服务。在Docker环境中,需进入容器内部进行相同操作并重启MySQL容器。
882

被折叠的 条评论
为什么被折叠?



