Som frågan anger för att synkronisera alla data från en server till en annan, jag tror att du kan använda en relativt enkel lösning, som involverar mysqldump
.
Jag tror att du kan göra allt från den dedikerade servern:
mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql
Ersätt
Detta kommer att skapa en fil som heter dump.sql
i den aktuella katalogen. Du kan sedan ladda detta till server 2:
mysql --user=<username> --password=<password> --host=<server 2 hostname> --port=<port> <database name> < dump.sql
Ersätt
Detta tar filen dump.sql och laddar in den i databasen på server 2. Detta kommer att ta bort databasen på server 2 - så all befintlig data kommer att ersättas med den i dump.sql
.
Kontrollera alternativen för mysqldump (avseende släppdatabaser, släpptabeller etc) och skräddarsy kommandona ovan för att passa din situation. Jag tror att om du ansluter saker på rätt sätt kan du till och med kringgå mellanfilen och ansluta mysqldump på server 1 till mysql på server 2 med en socket.
För att täcka den "automatiserade" delen av denna fråga kan du köra ovanstående kommandon under cron och schemalägga dem att köras den första dagen i varje månad vid en lämplig tidpunkt.