У меня есть мастер и подчиненный сервер базы данных mysql. Я хочу установить дополнительный подчиненный сервер mysql. В базе данных около 15 терабайт данных, и в базе данных есть таблицы MYISAM и InnoDB.
Я думаю о следующих вариантах:
Спасибо, что посмотрели на вопрос.
Вам не нужно отключать ведущее устройство, так как ведомое устройство у вас уже есть. Однако вам нужно будет выключить подчиненное устройство (ну, это проще всего, это не обязательно, но требуется в процессе ниже).
Это процесс, который я использую для создания ведомого устройства (данные linux, mysql на lvm):
И последний шаг: если репликация работает, отключите и удалите снимок lvm.
Если ваши данные mysql не находятся в linux + lvm, вы можете пропустить шаги lvm, но вам нужно оставить mysql на существующем ведомом устройстве в выключенном состоянии до тех пор, пока не завершится копирование на новое ведомое устройство.
Вам не нужно останавливать подчиненное устройство, вы можете использовать innobackupex для потоковой передачи фактической резервной копии на новое подчиненное устройство:
на фактическом рабе вы можете выдать
slave2> cd /var/lib/mysql; rm -rf *
slave2> nc -l 9898 | tar -xvif -
slave1> innobackupex --sream=tar --slave-info /tmp | nc slave2 9898
slave2> innobackupex --apply-log /var/lib/mysql
после этого ведомое устройство настроено, вы можете запустить его, и в файле / var / lib / mysql / xtrabackup_slave_info вы можете найти фактический файл binlog и позицию binlog, где вам нужно указать второе ведомое устройство. Innobackupex можно найти здесь: http://www.percona.com/software/percona-xtrabackup
Я ежедневно перестраиваю таких рабов, это доказало свою эффективность.