dev.mysql.com から取得 :
データベース名またはテーブル名の大文字小文字に起因するデータ転送の問題を回避するには、次の2つのオプションがあります。
- すべてのシステムでlower_case_table_names=1を使用します。これの主な欠点は、SHOWTABLESまたはSHOWDATABASESを使用すると、元の大文字の小文字に名前が表示されないことです。
- Unixではlower_case_table_names=0を使用し、Windowsではlower_case_table_names=2を使用します。これにより、データベース名とテーブル名の大文字小文字が保持されます。これの欠点は、ステートメントが常にデータベースとテーブル名をWindowsで正しい大文字で参照するようにする必要があることです。ステートメントをUnixに転送する場合、大文字と小文字が重要ですが、大文字と小文字が正しくないと機能しません。
例外:InnoDBテーブルを使用していて、これらのデータ転送の問題を回避しようとしている場合は、すべてのプラットフォームでlower_case_table_namesを1に設定して、名前を強制的に小文字に変換する必要があります。
Unixでlower_case_table_namesシステム変数を1に設定する場合は、mysqldを停止して新しい変数設定で再起動する前に、まず古いデータベースとテーブルの名前を小文字に変換する必要があります。