修改my.cnf ,使mysql 的表面不區分大小寫


linux 下,mysql 的表面默認是區分大小寫的,windows 下默認不區分大小寫,我們大多數在windows 下開發,之后遷移到linux,可以修改配置是linux下,myql 表名不區分大小寫

  MySQL在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的:

      1、數據庫名與表名是嚴格區分大小寫的;

      2、表的別名是嚴格區分大小寫的;

      3、列名與列的別名在所有的情況下均是忽略大小寫的;

      4、變量名也是嚴格區分大小寫的;    MySQL在Windows下都不區分大小寫

1. 修改 etc/my.cnf 文件 添加 

 

  lower_case_table_names =1

        其中 0:區分大小寫,1:不區分大小寫

我的linux 服務器上沒有找到my.cnf文件,解決方法如下

Linux下用rpm包安裝的MySQL是不會安裝/etc/my.cnf文件的,
  至於為什么沒有這個文件而MySQL卻也能正常啟動和作用,在這有兩個說法,
  第一種說法,my.cnf只是MySQL啟動時的一個參數文件,可以沒有它,這時MySQL會用內置的默認參數啟動,
  第二種說法,MySQL在啟動時自動使用/usr/share/mysql目錄下的my-medium.cnf文件,這種說法僅限於rpm包安裝的MySQL,
  解決方法,只需要復制一個/usr/share/mysql目錄下的。cnf文件到/etc目錄,並改名為my.cnf即可。

2. 注意,   lower_case_table_names =1 的配置需要添加在my.cnf 文件的mysqld 配置節中

3. 重啟mysql 服務, service mysql restart

 

4. 只有添加配置后添加的表才不區分大小寫的,之前添加的表 還是區分大小寫的,這點需要特別注意,建議最好做好編程規范,嚴格按照默認規則編寫sql 

 


免責聲明!

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



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