mysql大小寫敏感問題


一、MYSQL 5 修改方式:  

問題:

  在創建mysql表的時候發現不論表明是大寫或小寫,建完之后統一被變成了小寫。

原因:

  MySQL在windows下是不區分大小寫的,將script文件導入MySQL后表名也會自動轉化為小寫。

解決辦法:(基於windows系統下的方法)

  找到mysql安裝目錄下的my.ini文件,在文件中最后添加(1表示大小寫不敏感,2表示大小寫敏感)

1 lower_case_table_names=2

   然后重啟mysql,cmd命令行輸入:

1 net stop mysql
2 net start mysql

 

  然后在mysql命令界面中輸入:

show variables like '%low%';

 

  

  發現已經大小寫敏感了,到此設置成功了。

另外,用Navcat執行sql腳本的時候,還有可能會遇到一個問題:明明腳本語句執行的都是大寫的表名,但是建完以后,發現有的表名還是被改成了小寫格式

  例如:(所有大寫的表中突然出現一個奇怪的小寫表名,其原因不明)

  

  解決辦法,

  1.手動用命令更改。

1 rename table t_meeting to t_m;
2 rename table t_m to T_MEETING;

 

  2.找到數據文件直接重命名:

  文件路徑:C:\ProgramData\MySQL\MySQL Server 5.5\data

找到對應的數據庫並重命名對應的表就好了,因為Navcat重命名好像並沒有效果,可能是我的版本問題,所以不建議直接用Navcat直接修改。

============

二、mysql 8修改方式

  在另外一台機器上裝了mysql 8之后,想用和mysql5相同的辦法在win10下修改大小寫敏感的問題。但是照做之后根本沒有效果。后來在網上各種搜索了一番才發現,原來mysql8不允許在數據庫初始化之后更新這項配置,只能在初始化之前,就做好配置變更才能起到效果。其他做法同上,也是修改該my.ini文件,但是要注意一點,lower_case_table_names=2一定要寫在【mysqld】之下,不能寫在其他中括號的項目之下,不然仍然會報錯。弄完之后重啟mysql服務就可以了。

 

參考:

1、mysql8 安裝和配置 https://www.cnblogs.com/nuomin/p/8916257.html 

2、https://www.linuxidc.com/Linux/2018-01/150696.htm

3、windows系統mysql8.0更改lower_case_table_names :https://blog.csdn.net/ceciliawanghenan/article/details/82916662


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM