linux/centos下設置Mysql表名不區分大小寫
情景:公司近期在將數據庫從ORACLE轉為MYSQL,由於之前在ORACLE中表名是不區分大小寫,因此到mysql中就出現了找不到表的問題,經上網查詢,發現在linux下mysql的表名是區分大小寫的,但是有參數可以使其不區分大小寫。
一、linux中mysql大小寫詳情:
1、數據庫名嚴格區分大小寫
2、表名嚴格區分大小寫的
3、表的別名嚴格區分大小寫
4、變量名嚴格區分大小寫
5、列名在所有的情況下均忽略大小寫
6、列的別名在所有的情況下均忽略大小寫
二、添加參數使其不區分大小寫
1、切換到root用戶
$ su - root
2、修改/etc/my.cof配置文件,
# sed -i '/\[mysqld\]/a\lower_case_table_names=1' /etc/my.cnf
lower_case_table_names參數詳解:
0:區分大小寫
1:不區分大小寫
3、重啟mysql
# service mysqld restart
4、查看mqsql參數
# mysql -uroot -p
> show variables like "%case%" ;
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
+------------------------+-------+
2 rows in set (0.00 sec)
三、其他
在Windows中,MYSQL一直都是不區分大小寫的。