あるサーバーから別のサーバーにすべてのデータを同期するという質問があるので、を含む比較的単純なソリューションを使用できると思いますmysqldump
。
私はあなたが専用サーバーからこれをすべて行うことができると思います:
mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql
<username>
、、およびをサーバー1の接続の詳細<password>
に置き換えます。サーバー2にコピーするサーバー1のデータベースの名前に置き換えます。すべてのデータベースをコピーする場合は、-all-databasesオプションに置き換えます。<port>
<server 1 hostname>
dump.sql
これにより、現在のディレクトリに呼び出されるファイルが作成されます。次に、これをサーバー2にロードできます。
mysql --user=<username> --password=<password> --host=<server 2 hostname> --port=<port> <database name> < dump.sql
<username>
、、をサーバー2の接続の詳細に<password>
置き換えます。<port>
<server 2 hostname>
これにより、dump.sqlファイルが取得され、サーバー2のデータベースにロードされます。これにより、サーバー2のデータベースが削除されるため、既存のすべてのデータが。のデータベースに置き換えられdump.sql
ます。
mysqldumpのオプション(ドロップデータベース、ドロップテーブルなど)を確認し、状況に合わせて上記のコマンドを調整します。正しく接続すれば、中間ファイルをバイパスして、サーバー1のmysqldumpをサーバー2のmysqlにソケットを使用して接続することもできると思います。
この質問の「自動化された」部分をカバーするために、cronで上記のコマンドを実行し、毎月1日の適切な時間に実行するようにスケジュールすることができます。