Както гласи въпросът за синхронизиране на всички данни от един сървър на друг, мисля, че можете да използвате сравнително просто решение, включващо mysqldump
.
Мисля, че можете да направите всичко това от специалния сървър:
mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql
Заменете
, <парола>код> ,
<порт>код> и
<сървър 1 име на хост>код> с подробностите за връзката за сървър 1. Заменете с името на базата данни на сървър 1, която искате да копирате на сървър 2. Ако искате да копирате цялата база данни, заменете с опцията --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 (по отношение на изпускане на бази данни, изпускане на таблици и т.н.) и приспособете горните команди, за да бъдат подходящи за вашата ситуация. Мисля, че ако свържете нещата правилно, бихте могли дори да заобиколите междинния файл и да свържете mysqldump на сървър 1 към mysql на сървър 2 с помощта на сокет.
За да покриете „автоматизираната“ част на този въпрос, можете да изпълните горните команди под cron и да насрочите изпълнението им на първия ден от всеки месец в подходящо време.