OpenShift/MySQL エラー: OS X から OpenShift への移行時に lower_case_table_names エラーが発生する

OpenShift/MySQL エラー: OS X から OpenShift への移行時に lower_case_table_names エラーが発生する

さて、OS X インスタンスから MySQL 5.x データベースをダンプしましたが、データベースを OpenShift MySQL 5.5 コンテナーにインポートする際に問題が発生しています。テーブルは Camel-case (例: "tblAccounts") ですが、スクリプトは "テーブル tblaccounts が見つかりません" などのエラーをスローします。

MySQL の lower_case_table_names フラグは OS X では 2 に設定されていると思います。また、OpenShift で rhc set env コマンドを実行してこの変数を 0 から 2 に変更できました。テーブルが見つからないというエラーが引き続き発生します。

このフラグの複数の組み合わせを試し、mysqldump と MySQL Workbench を使用して作成されたスクリプトからデータベースを再ロードしようとしましたが、このエラーが表示されないようにするクリーンなアプローチが見つかりませんでした。これをクリーンに行う方法についてのアイデアが尽きています。何か提案はありますか? ありがとうございます。

fc

答え1

少し遅いかもしれませんが、この問題を抱えている他の人のために。

lower_case_table_nameMariaDB は、大文字と小文字を区別するファイル システム上にあることが確認されると、起動時に 2 から 0 に変更します。

[Warning] lower_case_table_names was set to 2, even though your the file system '/var/lib/mysql/' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems.

mysql も同じことを行うと思います (mysql からフォークされているため)。

ただし、 に設定する1と かかります。私の場合 (MacOS から移行中)、データベースをロードした後にこれを行うことができました。問題なく動作しました...ただし、1との違いに関するドキュメントに反しているようです。mysql がこれに満足しない場合は、データベースを空にして に設定し、データを再ロードする2必要があるかもしれません。1

関連情報