在连接数据库的时候发现库里有表的名字只是大小写不一样,但就是连不上,我用的是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
5. 查看数据库大小写配置
show variables like '%lower%';
±-----------------------±------+
| Variable_name | Value |
±-----------------------±------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
±-----------------------±------+
看到以上信息就代表我们已经大功告成了
需要注意的一点就是:我们在设置忽略大小写的时候,数据库中最好不要有数据库的名字已经使用大小写区分,具体原因大家也可以自行尝试
(发生表或数据库不能删除修改的情况,将以上配置改回即可,这也是在修改配置的时候不要出现数据库或者表已经使用大小写的情况)
扩展:
部署在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
希望上述内容能对您有所帮助,谢谢~
修改大小写配置的步骤如下:
1、添加 MySQL YUM repository (添加 MySQL 的 yam 仓库,略)
2、卸载当前系统中的其它 MySQL。(如果需要同时安装不同版本的 MySQL,请使用 tarball 发行版。)
3、清除数据目录: 为了能够初始化 MySQL,数据目录必须为空。 您可以选择对数据目录 使用非默认位置;也可以删除 /var/lib/mysql
目录。 如果要保留旧的数据目录,请 先进行备份!
4、安装 MySQL 8 :通过 yam install
5、初始化前指定 lower_case_table_names = 1
: 方法,在初次使用 systemd 启动 mysqld 之前,在MySQL配置文件( /etc/my.cnf
)中添加 lower_case_table_names=1
。
6、初始化: systemctl start mysqld
为已安装的MySQL8设置不区分大小写
1、停止MySQL
2、删除数据目录,即删除 /var/lib/mysql
目录、
3、在MySQL配置文件( /etc/my.cnf
)中添加 lower_case_table_names=1
4、启动 MySQL