mysqldump: エラーが発生しました: 1066: 一意のテーブル/エイリアスではありません: 'foo' (lower_case_table_names=1 の場合に LOCK TABLES を使用するときに発生)

mysqldump: エラーが発生しました: 1066: 一意のテーブル/エイリアスではありません: 'foo' (lower_case_table_names=1 の場合に LOCK TABLES を使用するときに発生)

Linux サーバー (Centos 5.2 32 ビット、MySQL 5.0.45) 上の MYSQL DB をダンプしようとしています

/etc/my.cnf では次の値が定義されています:

[mysqld]
lower_case_table_names=1

mysqldump を使用してダンプを実行しようとすると、次のエラーが発生します。

[root@linuxbox backups]# mysqldump --user=root --password=secret   --result-file=/tmp/out.sql--all-databases
mysqldump: Got error: 1066: Not unique table/alias: 'foo' when using LOCK TABLES

これを回避するために何をする必要があるのか​​わかりません。また、大文字と小文字を区別しないテーブル名を必要とするいくつかのものが壊れるため、my.cnf で lower_case_table_names を 0 に設定することはできません。

このような状況で、mysqldump を実行するにはどうすればよいですか? (または、それが目的なので、DB をファイルにバックアップする別の方法が有効です)

答え1

競合する関係の 1 つの名前を変更します。

関連情報