Mysql不區分大小寫問題--舊庫的表大寫問題
阿新 • • 發佈:2018-11-04
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檔案