在Windows下,mysql默認表名大小寫是忽略的。但是將項目放到服務器上,發現當表名有大寫的時候就提示該表不存在。遇到這種問題怎麼解決呢?
工具/原料
mysql5.5、sqlyog
centos6.3
方法/步驟
使用mysql客戶端連接到服務器(系統是centos),查詢某一張表。提示不存在該表。可是在Windows上沒問題,是直接吧庫導入到服務器上的。
錯誤如下
發現原來在liunx系統下沒有設置MySQL區分表名大小寫的原因。
所以,我們就需要在liunx系統中設置忽略表名大小寫。這種路徑:
如下圖
打開my.cnf後如下圖:
注:這裡也設置了編碼格式。如果有亂碼的同學可以參考本圖片來設置哦
添加忽略大小寫的信息呢:
[mysqld]後添加添加lower_case_table_names=1
如下圖
保存之後。重啟MySQL服務器
重啟mysql服務器:
找到位置:
如下圖
使用重啟命令:
/etc/inint.d/mysqld restart
重啟之後如下圖
重新查詢該表
如下圖:
OK。至此,在liunx下解決MySQL忽略表名大小寫也完成!
附件:
lower_case_table_names參數詳解: lower_case_table_names = 0 其中 0:區分大小寫,1:不區分大小寫
注意事項
lower_case_table_names = 1 該語句放置的位置很重要哦