mysql表名區分大小寫
阿新 • • 發佈:2019-01-09
今天遇到一個特備奇葩的問題,整個人都陶醉了,哎
我將本地測試的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.重新啟動資料庫即可