同じ定義のテーブルが 2 つある場合、データを毎日バックアップするにはどうすればよいですか? mySQL Administrator を使用してこのようなことを実行できますか
- 毎日午前 12:00 に、すべての行を main_table から backup_table にコピーします。
- backup_table のレコードにいくつかの変更が加えられ、新しいバックアップでそれらの変更を消去したくないため、増分バックアップの方が望ましいでしょう。
ありがとう
同じ定義のテーブルが 2 つある場合、データを毎日バックアップするにはどうすればよいですか? mySQL Administrator を使用してこのようなことを実行できますか
ありがとう
これから始めましょう: 同じサーバー上のあるテーブルから別のテーブルにデータをコピーすることはバックアップではありません。
現在、MySQL 5.1.6 以降を使用している場合は、イベント スケジューラを使用して、そのようなアクションをスケジュールできます。
http://dev.mysql.com/doc/refman/5.1/en/events.html
このようなクエリを実行するのと同じくらい簡単なはずです
INSERT INTO
secondarydatabase.tableName
SELECT pr.* FROM
primarydatabase.tableName AS pr
LEFT JOIN
secondarydatabase.tableName AS sec
USING(primaryKeyColumn)
WHERE sec.primaryKeyColumn IS NULL
(これにより、新しい行がコピーされます。既存の行の変更はコピーされません)
実際のバックアップに関する限り、これをお読みください。
はい、間違いなくできます。このページを見てください: http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html
スクリプトを慎重に作成して、テーブルを削除せずに新しい行を挿入するだけであれば、データが失われる心配はありません。テーブルの各行にタイムスタンプを保存している場合は、作業がはるかに簡単になります。タイムスタンプを使用して、最後のバッチ実行以降に変更または追加された新しい行をロード/更新できます。
ただし、挿入を行う前に現在のテーブルのバックアップを作成することをお勧めします。インポートが成功した場合は、バックアップ テーブルをクリーンアップできます。