Ubuntu中mysql設定表名不區分大小寫
阿新 • • 發佈:2019-01-29
1.前言
最近在公司優化一個Android專案,服務端已經部署到正式環境中,不能直接在正式環境中測試,需要部署一套測試的環境,後臺又比較忙,於是自己來了,在Ubuntu上安裝好JDK,Tomcat和MySQL後,準備開始部署啦。發現一個問題,通過hibernate自動生成的有些表的名字全部變成了大寫,而在Windows下則全部是小寫,通過網上查資料,發現MySQL在Windows下是不區分大小寫的,所以即使hibernate中定義的是大寫的表名,生成對應的表時,也會轉換成小寫,但是在Linux系統下,MySQL是區分大小寫的,所以導致其生成的表為大寫。為了和Windows環境下保持一致,方便操作,打算更改MySQL的預設配置,使其表名也不區分大小寫。
2.具體操作步驟
1.切換到root使用者,進入 /etc/mysql/mysql.conf.d目錄
2.開啟mysqld.cnf檔案,在【mysqld】下面增加一行:lower_case_table_names=1
3.重啟mysql,使用命令:/etc/init.d/mysql restart
通過以上三步,即可將Ubuntu中mysql表名設定為不區分大小寫,使通過hibernate生成的表名均為小寫。
3.總結
這次部署總體還是比較順利的,但是這個問題卻困了我較長時間,其實具體操作就像我上述所說的,三步即可實現。但是我開始卻走了不少彎路,曾一度想把mysql解除安裝後重裝,這是下下策了。問題出在我對Linux和mysql都不熟悉,當出現問題,開始的時候沒有冷靜的分析和定位問題,導致耽擱了不少時間,後來冷靜下來想想,把問題定位了,通過網上搜索到解決辦法,解決了問題。所以以後對待問題,一定要淡定,重要的事情說三遍:淡定,淡定,淡定