質問: 本日macのアップデートを実行した所、macにインストールしているmysqlのデータベースのテーブルにアクセスできなくなるという現象が発生しました。 (幸い開発テスト用データベースのため被害なし) データベースは存在しており、 show tables でそのデータベース内の全てのテーブルも確認できます。 しかし、その全てのテーブルにアクセスしようとすると ERROR 1146 (42S02): Table 'iantenna.category' doesn't exist という感じのエラーになります。 また、該当のデータベースを削除しようとしても ERROR 1010 (HY000): Error dropping database (can't rmdir './iantenna', errno: 66) とでてエラーになります。 その原因は分かりました。 それは、データベース名の大文字小文字を「判別しなくなっている」ということでした。 例えば、 iAntenna という名前でデータベースを作っていた場合、今回の不具合が発生します。 MySQL上で iAntenna を iantenna と置き換えているみたいです。 (ただしshow databasesではちゃんとiAntenna表記) 同じ現象の発生した方いらっしゃいますか? macのアップデートのせいなのかを確認したいです。 私はmacのアップデートを行って再起動した瞬間から発生致しました。 なにか、対策はあるのでしょうか MySQLバージョン Server version: 5.6.14 MySQL Community Server (GPL) 今回適用したMacアップデート(1つのみ) OS X EI Capitan アップデート 10.11.3
回答: 古いOSのMacが無いので憶測になってしまいますが、 設定が変わったのではなく**設定が使えないようになった**のではないのでしょうか? `lower_case_table_names=2`はテーブル名をそのまま保持します。 大文字小文字も全てそのままです。 ただ参照しに行く際に全て小文字に置き換えてLookUpします。 要は大文字小文字を無視するわけです。 **ただし** `大文字小文字を区別しないファイルシステムでのみ`でしか動作しません。 恐らくアップデート前は大文字小文字を区別しなかったのが アップデートで区別するようになったのではないでしょうか? 大文字小文字を区別したいのであれば`lower_case_table_names=0`にする必要があります。