大規模な MySQL データベース ( と呼ぶことにします) がありlive_db
、これを同じマシンに複製して、テーブル構造やデータなど ( ) を操作できるテスト システムを提供したいと考えています。 定期的に をの内容でtest_db
更新し、可能であれば増分更新したいと考えています。test_db
live_db
MySQL には、それを行うための組み込みメカニズムがありますか? マスター スレーブ レプリケーションは、 内のデータを変更できるはずなので、必要なものではないと思いますtest_db
。ただし、これらの変更は保存する必要はありません。
よろしくお願いいたします。
CGD
ベストアンサー1
コマンドmysql
ライン クライアントは、標準入力から SQL ステートメントのストリームを受け入れます。したがって、出力をコマンドラインにmysqldump
直接パイプすることができますmysql
。これを cron ジョブとして実行すると、テスト データが定期的に更新されたライブ データで上書きされます。
mysql --user=username --password=passwd -e 'DROP DATABASE test_db;'
mysql --user=username --password=passwd -e 'CREATE DATABASE test_db;'
mysqldump --user=username --password=passwd live_db | mysql --user=username --password=passwd test_db
データが大きいため、時間がかかることに注意してください。