1. 程式人生 > >mysql表名區分大小寫

mysql表名區分大小寫

今天遇到一個特備奇葩的問題,整個人都陶醉了,哎
我將本地測試的web專案部署到Linux伺服器中的tomcat中,訪問專案的時候總是提示forum.T_BASE_USER表不存在,我就鬱悶了,這個表明明在的呢

今天鬱悶死了,在LINUX下調一個程式老說找不到表,但是我明明是建了表的,在MYSQL的命令列下也可以查到,為什麼程式就找不到表呢?
這裡寫圖片描述
原來是@Table(name=”T_BASE_USER”)要改成小寫,改成小寫,改成小寫。
(原來一直在錯誤的考慮問題,我以為是mysql出了問題,我找到tomcat的日誌檔案,不經意間我刪除了mysql資料庫user表中的一條資料,然後導致資料庫root使用者也登入不進去了,然後又搞得資料庫服務都啟動不了了,整個人都醉了不知道怎麼會改成這個模樣,一路坎坷啊)

這是百度到的結果,相見恨晚的感覺啊啊啊:

  後來請教了一個老師才搞定,原來是LINUX下的MYSQL預設是要區分表名大小寫的,哎,弄了那麼舊,害死我了。

  讓MYSQL不區分表名大小寫的方法其實很簡單:

  1.用ROOT登入,修改/etc/my.cnf

  2.在[mysqld]下加入一行:lower_case_table_names=1

  3.重新啟動資料庫即可