Я новичок во всем процессе репликации mysql, поэтому на этот вопрос легко ответить. У меня есть хозяин и раб. Мне нужно настроить другое ведомое устройство, поэтому очевидно, что мне нужно будет сделать дамп с текущего ведомого устройства, потому что я НЕ МОГУ отключить ведущее устройство ни на секунду. Как я могу быть уверен, что в то время, когда я делаю дамп текущей подчиненной базы данных, я не пропущу никаких основных данных, которые были созданы за это время?
Спасибо всем.
У меня есть интересный метод, но вам придется остановить репликацию, чтобы сделать
Для сервера БД M1, S1 и S2
ШАГ01) На S2 установите ту же версию MySQL, что и на S1.
ШАГ02) На S2 убедитесь, что server_id в /etc/my.cnf отличается от server_id в S1
ШАГ03) На S1, STOP SLAVE;
ШАГ04) На S1, SHOW SLAVE STATUS\G
ШАГ05) Запишите следующие два значения из ШАГА 04.
ШАГ06) На S1 mysqldump ... --all-databases> /root/MySQLDataForSlave.sql
ШАГ07) На S1, START SLAVE;
ШАГ08) На S1, scp /root/MySQLDataForSlave.sql S2:/root/.
ШАГ09) На S2, mysql ... < /root/MySQLDataForSlave.sql
ШАГ 10) На S2 запустите эту команду в клиенте mysql, используя значения из STEP05
CHANGE MASTER TO
master_host='MHOST',
master_port=MPORT,
master_user='repluser',
master_password='replpass',
master_log_file='RMLF',
master_log_pos=EMLP;
ШАГ 11) На S2, START SLAVE;
ШАГ 12) На S2, SHOW SLAVE STATUS\G
(Если Slave_IO_Running
и Slave_SQL_Running
Да, ПОЗДРАВЛЯЕМ !!!)
ШАГ 13) На S2, SHOW SLAVE STATUS\G
снова и снова, пока Seconds_Behind_Master
= 0;
Я действительно написал скрипт для автоматизации этого в DBA StackExchange 6 февраля 2012 г..
Попробуйте !!!
Отключить репликацию на ведомом устройстве перед тем, как сделать снимок. Подсказка - сначала остановите поток ввода-вывода и дайте завершиться потоку SQL, прежде чем останавливать его и затем создавать моментальный снимок.
Используйте следующее руководство, чтобы ввести дополнительное ведомое устройство в существующую среду: