「IMPORT前に表領域を破棄してください」:のmysqldump問題:私は本番データベース(MySQLバージョン5.1.66)の日々のバックアップのmysqldumpバックアップを実行
mysqldump --user=username --password=secret -C -e --create-options --hex-blob --net_buffer_length=5000 databasename > file
私もの日々を復元しますdatabasename
'テーブルの表領域:行25で ERROR 1813(HY000):私の開発マシン上のデータベース(MySQLバージョン5.6.12)
mysql --user=username --password=secret databasename < file
私はエラーを取得します。 tablename
'が存在します。 IMPORTの前に表スペースを破棄してください。
私の読書は、MySQLのInnoDBデータベースは、コマンドを必要とするため、これがあることを示し:表がドロップされる前に
ALTER TABLE tbl_name DISCARD TABLESPACE;
が実行される - テーブルをドロップすると、そのを取り除くのに十分ではないようですインデックス。 (私の開発サーバーはinnodb_file_per_tableオプションを使用しています)
私の開発データベースに本番データベースで削除されたデータが潜在的に存在する可能性があるため、私は 'replace'オプションを使用しません。
btwエラーが発生した後、テーブルは読み込みできませんが、mysqldを再起動するとそれが修正されます。
この問題を解決するのに役立つmysqlダンプオプションはありますか、エラーを防止するデータをインポートする別の方法がありますか?
あらかじめ読んでいただきありがとうございます。
ありがとうございました。 add-drop-database – pgee70
でデータベース作成コマンドが追加されていないため、 --add-drop-database - データベース を追加しました。tablename.frmをコピーした後、ファイルに適切な権限があり、ユーザ:mysqlからアクセスできるグループ。 – NEB