2016-05-26 5 views
0

を失うことなく、私はそう、私は昔のホスティングからバックアップDBに次のコマンドを実行します。1つのホストから別のMYSQL DBを移行しています移行は、レコード

zcat /home/***/***.sql.gz | mysql -u *** -p *** 

DBを正常にインポートした後、ドメインを新しいDNSにポイントします。 問題は、Webサイトがアクティブなので、最後のバックアップ後に新しいレコードが挿入される可能性が高いことです。だから、私は完全なDNSの伝播の後にもう一度コマンドを実行する必要があるかもしれません。

私の質問では、mysqlコマンドは新しい行を挿入して既存のものを更新するのですか、それとも実際には完全にテーブルを削除してバックアップをやり直すのですか?その場合、DNSの伝播後に挿入されたレコードが失われる可能性があります。

おかげ

答えて

1

(あなたがそれをgzipで圧縮する前に)あなたは、mysqldumpをの出力を見れば、あなたはそれがそう

DROP TABLE x; 
CREATE TABLE x (...); 
INSERT INTO x (...) VALUES (...); 

のシーケンスが含まれていることがわかります、いや、それは/挿入を行いません。置き換え、テーブルを削除して再作成します。

+0

この動作を回避するオプションが見つかりました。--skip-add-drop-table'あなたの通知をありがとう! –