Репликация mysql - подчиненный сервер в одной базе данных
Я не смог найти ответ на мой вопрос.
У меня есть 2 сервера mysql.
- Главный сервер
- Ведомый сервер
Теперь я хочу добавить еще один подчиненный сервер, но у меня есть другой сайт, запущенный на этом сервере.
Можно ли реплицировать только одну базу данных?
Ответы
Ответ 1
Да, вы можете
Если вы хотите реплицировать только одну базу данных из мастера, вы можете установить replicate-do-db
в свой /etc/my.cnf
или установить replicate-do-db
как аргумент mysql, например:
replicate-do-db=db01
Если у вас есть много баз данных, подлежащих репликации, /etc/my.cnf
должен выглядеть следующим образом:
replicate-do-db=db01
replicate-do-db=db02
Если вы хотите, чтобы slave игнорировал некоторую базу данных, вы можете установить replicate-ignore-db
:
replicate-ignore-db=db01
Подробнее о документе MySQL: http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_replicate-do-db
Ответ 2
Добавление этих строк в файл /etc/my.conf ведомого устройства решило мою проблему. Спасибо.
replicate-do-db=Refill
Однако учтите, что после этого мне пришлось перезапустить обе базы данных и обновить новое имя файла и позицию с главного сервера, набрав команду ниже:
mysql> show master status;
Добавьте эту информацию в свой MySQL на подчиненной машине и запустите ведомый.