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