あるサーバーからデータベースのバックアップを取り、別のサーバーに復元しようとしました。
Mysqlのバージョンは5.5です
次のコマンドを使用してデータベースを復元しようとすると、screen -r
mysql -u root -p password mydb < mydump.sql
ERROR 1005 (HY000) at line 356: Can't create table 'mydb.mytable' (errno: 150)
これが外部キー制約の問題であることを理解しています。ダンプファイルには、次のステートメントが含まれています。
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
しかし、それはまだ失敗しています。私のdumoファイルはサイズが非常に大きいので、開いて編集することはできません。したがって、ダンプを追加する代わりにSET FOREIGN_KEY_CHECKS=0;
、次のようにmysqlコマンドライン内に直接設定できますか?
mysql> SET FOREIGN_KEY_CHECKS=0;
...
mysql> source "mydump.sql";
...
mysql> SET FOREIGN_KEY_CHECKS=1;
それは機能しますか?データベースのリロードが完了するまでに数時間かかります。だから私はこれに何時間も費やす前にここで助けを求めています。
助けてくれてありがとう。