デフォルトでは、mysqlダンプはテーブルをドロップし、増分更新を不可能にします。結果のファイルを開くと、次のようなものが表示されます。
DROP TABLE IF EXISTS `some_table_name`;
--no-create-infoオプションを使用すると、ダンプして新しいテーブルを作成せずにダンプを作成できます。ダンプをインクリメンタルインポートに対応させるには、-skip-extended-importも使用する必要があります。これにより、挿入が行ごとに1つの挿入ステートメントに分割されます。インポートでの使用と組み合わせると--force
、存在する行の挿入は失敗しますが、インポートは続行されます。すでに存在する行のログにエラーが表示されることになりますが、必要に応じて新しい行が挿入されます。
次のコマンドでエクスポートできるはずです(履歴に表示されないように、コマンドにパスワードを入力しないこともお勧めします)
mysqldump -u username -p --no-create-info --skip-extended-insert db_name --flush-logs > D:\dbname_incremental_backup.sql
その後、次のコマンドでインポートできます。
mysql -u username -p --force db_name < D:\dbname_incremental_backup.sql