同じ定義の2つのテーブルがある場合、どのようにデータを毎日バックアップしますか?私はいくつかの変更がに行われるよう、それが増分バックアップであればそれは好ましいであろう あるテーブルから別のテーブルへのmySQLの毎日のバックアップ
- のようなものを実行するためのMySQL Administratorを使用することができますbackup_tableのreccordsと私はそれらの変更を一掃するために新しいバックアップをしたくありません。
おかげ
同じ定義の2つのテーブルがある場合、どのようにデータを毎日バックアップしますか?私はいくつかの変更がに行われるよう、それが増分バックアップであればそれは好ましいであろう あるテーブルから別のテーブルへのmySQLの毎日のバックアップ
おかげ
まずは、同じサーバー上のあるテーブルから別のテーブルへのデータのコピーはバックアップではありません。
ここで、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
スクリプトを慎重に書くと、テーブルを削除せずに新しい行を挿入するだけでデータを失う心配がありません。テーブルの各行にタイムスタンプが格納されている場合は、作業が非常に簡単になります。タイムスタンプを使用して、最後のバッチ実行以降に変更または追加された新しい行をロード/更新することができます。
ただし、挿入を行う前に、現在のテーブルのバックアップを作成することをお勧めします。インポートが成功した場合は、バックアップテーブルをクリーンアップすることができます。
+1イベントスケジューラの場合。 – rkg