首先我们需要明白的一点就是: Linux 系统默认情况下MySQL数据库是区分大小写的, Windows系统默认情况下MySQL数据库是不区分大小写的。
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
希望上述内容能对您有所帮助,谢谢~
|