0

backenddbとlivedbのような2つのデータベースがあります(50を超えるテーブルを持つサイズが約10 GB)。mysqldumpを使用して新しいデータで更新するようにlivedbをbackenddbで更新してから展開しています。このプロセスでは、最初にすべてのテーブル行、テーブルを削除してから、展開中にbackenddbsql-dumpをlivedbに再挿入します。

それで、livedbデータ全体を削除せずに、更新されたデータ行のみをbackenddbからlivedbに挿入できる他の方法はありますか?

4

2 に答える 2

0

さらに調査を重ねて、この方法を完成させました。mysqldump
--no-create-db --no-create-info -uroot -hxx.xx.xx.xxx Db_dump> dump_name
を使用してbackenddbダンプを作成します。これにより、次のダンプが作成されます。テーブル削除コマンドを除く行データ。次に、ダンプファイルでINSERTINTOをINSERTIGNOREIntoに置き換えます。replace'INSERTINTO''INSERT IGNORE INTO ' --dump_name次に、ダンプを通常どおりlivedbに展開します。これにより、既存のデータを無視して更新されたデータのみが挿入されます。

注:-INSERT INTOのテキストオカレンスは、replaceコマンドによるSQLダンプでINSERTIGNOREIntoに置き換えられます。

于 2012-06-19T02:15:36.470 に答える
0

私があなたの質問を理解していることに対して、私はあなたがbackenddbの差分バックアップを取り、それをあなたのlivedbに入れることができると答えることができます。

于 2012-06-14T06:55:31.843 に答える