MySQLサーバの1つのデータベースを同じMySQLサーバ上のミラーデータベースに頻繁に複製する必要があります。1台のサーバを使用してMySQLデータベースをミラーリングする方法
Webアプリケーション(PHP/MySQL)のミラーを別のサブドメインに作成するbashスクリプトを作成しています。ユーザーはこのミラーを使用して、実働環境に影響を与えることなくあらゆる種類のクレイジーなものを試すことができます。スクリプトは毎晩自動的に実行されるはずです。
ソースコードを複製するのは簡単です。 rsync -a
を使用して、運用環境を保持するディレクトリからミラーディレクトリにすべてをコピーし、パッチを適用していくつかの構成ファイルを更新します。問題は、サイズが3 GB近くになったデータベースを複製することです。
mysqldump live_db | mysql mirror_db
を使用すると、データベースが永久に複製されます。また、その間にCPU使用率は100%に達し、Webアプリケーションは非常に遅くなります。
私は1台のMySQLサーバしか持っていないので、データベースの複製はオプションではないようです。レプリケーションには2台のサーバーが必要です。
本番データベースを複製する最良の方法は何ですか?高速である必要はありませんが、システムのパフォーマンスに影響を与えすぎるべきではありません。ミラースクリプトがバックグラウンドで実行されている間も、私のWebアプリケーションを使用できるはずです。私は考えることができる
同じサーバーで2つ目のmysqlサーバインスタンスを実行することは可能でしょうか? – VolkerK
VolkerKは理論的にはうまくいくかもしれませんが、セットアップするのは本当に大きな面倒です。予備のデスクトップマシンを第2のサーバーに切り替えるほうが速くなります。 –