1. 程式人生 > >Mysql不區分大小寫問題--舊庫的表大寫問題

Mysql不區分大小寫問題--舊庫的表大寫問題

1.mysql修改為不區分大小寫

vim /etc/my.cnf

[mysqld]
#設定為1表示不區分大小寫
lower_case_table_names=1

重啟mysql服務

service mysql restart

檢視是否修改成功

mysql> show variables like "%case%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_
case_table_names | 1 | +------------------------+-------+ 2 rows in set (0.00 sec)

2.舊錶的大寫改成小寫

解決辦法1:
1)先在my.cnf裡將lower_case_table_names引數再次調整為0,改成區分大小寫
2)然後mysqladmin -uroot -p shutdown 以安全模式關閉資料庫
3)登陸mysql資料庫,”alter table 舊錶名 rename 新表名” 將帶大寫字母的舊錶改為小寫表名
4)最後再啟動mysql即可!

解決辦法2:
1)先在my.cnf裡將lower_case_table_names引數再次調整為0,改成區分大小寫
2)然後將要改變的庫備份出一份sql檔案。
3)登陸mysql,將這個庫刪除
4)在my.cnf裡將lower_case_table_names引數再次調整為1,改成不區分大小寫
5)重新建立庫,執行sql檔案