本番データベース (mysql バージョン 5.1.66) の毎日のバックアップ mysqldump バックアップを実行します。
mysqldump --user=username --password=secret -C -e --create-options --hex-blob --net_buffer_length=5000 databasename > file
また、開発マシン (mysql バージョン 5.6.12) でそのデータベースを毎日復元しています。
mysql --user=username --password=secret databasename < file
次のエラーが表示されます: ERROR 1813 (HY000) at line 25: Tablespace for table ' databasename
. tablename
」が存在します。IMPORT の前にテーブルスペースを破棄してください。
私の読書は、これがmysql innodbデータベースがコマンドを必要とするためであることを示しています:
ALTER TABLE tbl_name DISCARD TABLESPACE;
テーブルが削除される前に実行される - テーブルを削除するだけでは、インデックスを削除するには不十分なようです。(私の開発サーバーは innodb_file_per_table オプションを使用しています)
本番データベースで削除されたデータが開発データベースにある可能性があるため、「置換」オプションを使用したくありません。
ところで、エラーの後、テーブルは読み取れませんが、mysqld を再起動すると修正されます。
問題は、この問題を解決するのに役立つ mysql ダンプ オプションがあるか、またはエラーを防ぐデータをインポートする別の方法があるかということです。
読んでくれてありがとう。