HackerQuest

No app, no life

趣味と実益を兼ねてプログラマをやっている者👨‍💻

MySQL テーブル名がOSによって大文字と小文字を区別しない問題

MySQL テーブル名がOSによって大文字と小文字を区別しない問題

結論から言うと

デフォルトでmacOSUnixではlower_case_table_namesの設定値が異なるので、

CentOSの/etc/my.cnfに

lower_case_table_names=1

を加える

my.cnfファイルを反映させる

参考:https://qiita.com/yutaro1985/items/7ee4251531e2f1ededca

データベース削除を削除すれば確実に反映される

/var/lib/mysql

にある使っているデータベースを削除する

以下のコマンドで確認できる

show variables where variable_name='lower_case_table_names';

公式ドキュメント

https://dev.mysql.com/doc/refman/5.6/ja/identifier-case-sensitivity.html

macOSの場合

f:id:tsudukihashi0817:20190517000049p:plain

CentOSの場合

f:id:tsudukihashi0817:20190517000101p:plain

そりゃエラー出ますよね...

Ryo Tsuzukihashi