Как поддерживать актуальную копию базы mysql на тестовом сервере?
Есть два сервера:
1. продакшн, постоянно в работе, база mysql, много cron-скриптов
2. тестовый, копия, без cron-скриптов
Хочу сделать полную копию базы данных mysql (она постоянно обновляется пользователями), чтобы изменения выгружались в тестовую базу в автоматическом режиме, но, в то же время, если упадет тестовый сервер чтобы это не отразилось на боевом. Как это лучше сделать?
Если не делаешь никаких изменений на тестовой базе то мастер слейв репликация
если делаешь то раз в неделю заливать в тестовую свежий дамп с продакшена
При master-slave, если на тестовом сервере будут вноситься зменения в базу (тестирование работы), изменения потом будут откатываться назад? Не повлияет ли это на master базу?
Steely: это два отдельных решения для двух отдельных случаев, попробуйте прочитать мой ответ полностью, связав в голове в логическую цепочку, а не спрашивать про каждое отдельное слово в нем.
У меня в аналогичной ситуации каждую ночь отрабатывает rsync для файлов и mysqldump для базы. Репликация имеет смысл, только если базы здоровенные и целиком их таскать накладно. Или при необходимости частого обновления.