Windows平台Mysql表名变小写的解决过程

时间:2022-04-27 00:50:15

由于要弄某个项目的数据库设计文档,几百张表,如果弄在word文档里面一个个添加,效率比较低。

故分别使用了Mysql WorkBench(win版)和Powerdesigner 15来做这个设计文档。

 
产品数据库是部署在linux的,因为wb与pd的关系,我把产品备份库的表结构使用mysqldump  导出来product.sql 。得到了的完整的表结构 
 
我windows直接采用了 xampp 用来做测试环境 ,因为xampp包含了我所需要的mysql的和phpmyadmin,节省了配置的时间。
 
当我把product.sql用phpmyadmin导入到mysql后,发现所有的表名都变小写了。
 

这是由于windows 和linux对大小写的敏感性不同而导致的。数据库和表名在 Windows 中是大小写不敏感的 ,而在大多数类型的 Unix 系统中是大小写敏感的


windows 下的解决方法:

my.ini 里面的mysqld部分

加入 lower_case_table_names=2


[mysqld]

lower_case_table_names=2

port= 3306



注: 1 表示不区分大小写 2表示区分大小写


然后重启mysqld服务器 ,在xampp重启mysqld服务可以通过xampp目录下的mysql_start.bat

 

重启mysqld服务后,命令行进入mysql,要确认已经把lower_case_table_names值改成2了

 

 

mysql> show variables like '%low%';
+------------------------+---------+
| Variable_name          | Value   |
+------------------------+---------+
| log_slow_queries       | OFF     |
| low_priority_updates   | OFF     |
| lower_case_file_system | ON      |
| lower_case_table_names | 2       |
| max_allowed_packet     | 1047552 |
| slow_launch_time       | 2       |
+------------------------+---------+
6 rows in set (0.06 sec)
 
再次导入product.sql 发现 已经可以区分大小写