次のコマンドを使用して、あるSQL Serverから別のSQL Serverにデータベースをコピーし、移行先サーバーのデータベースを上書きすることができます。mysqldumpを差動的に使用して1つのデータベースを別のデータベースにコピーして上書きする
$ mysqldump -u user --password=pass live_db_name | mysql -u user --password=pass -h localhost duplicate_db_name
しかし、差分コピーのみを行う方法を探しています。
つまり、接続先データベースが異なる場合、ソースデータベースと同じになるように変更されます。
mysqldump
を使用してこれを行うオプションがありますか?
これを行うための機能がmysqldumpにはありません。スキーマの変更(新しい表、削除された表、追加された索引、追加された列、変更された列の定義)やデータの変更(更新された行、削除された行)など、あなたが気付いたように、完全なボア置換を行うことはできますが、mysqldumpは "差分変更"スクリプトの作成に似た機能を提供しません。 – spencer7593
プログラミングのキャリアで遭遇する可能性が最も高い問題の1つは、2つの独立したデータセットの同期を維持する「同期」の1つです。これは、マイクロレベル(例えば、ゲームクライアントがその状態をサーバと通信する)またはより多くのマクロレベル(例えば、データベース全体が調整されている)で発生するが、無数の問題である。競合する変更が調整される方法は非常に主観的なので、これを行うための組み込みツールはありません。 – tadman
これを行う簡単な方法は、レプリケーションをセットアップすることです。これを行う難しい方法は難しいです。 – tadman