3

編集可能なデータベースのコピーを備えた開発サーバーと、同じデータベースが異なる状態にあるライブ実サーバーがあります。データベースを開発者からライブに移動するには、開発者サーバーから実行します。

mysqldump -u root -p --opt db_name tbl_name | mysql -u user_name -p --host=live_IP -C db_name

db_name、tbl_name、user_name、およびlive_IPに適切な値を指定します。ただし、これは現在、ライブサーバー上のテーブルを削除し、開発バージョンをコピーします。つまり、すべてを効果的に上書きし、ライブテーブル内の新しいデータを破棄します。私が本当に望んでいるのは、開発サーバーに新しい行があり、競合する行は開発サーバーのコピーから取得されますが、ライブサーバーのコピーの新しい行は変更されないままにすることです。これはある種のマージであり、ドキュメントでこのようなものについての言及を見つけることができませんでしたが、それは一般的なニーズであるため、可能であると思われます。

4

1 に答える 1

6

これを行うには、パイプの前にmysqldump オプションを追加します。あなたの場合、--insert-ignore、--no-create-db、および --no-create-info が必要だと思います。

于 2012-11-14T20:08:04.873 に答える