Назад | Перейти на главную страницу

Как продолжить настройку вторичного подчиненного сервера mysql linux?

У меня есть мастер и подчиненный сервер базы данных mysql. Я хочу установить дополнительный подчиненный сервер mysql. В базе данных около 15 терабайт данных, и в базе данных есть таблицы MYISAM и InnoDB.

Я думаю о следующих вариантах:

  1. Завершите работу главной базы данных и скопируйте папку данных mysql на вторичное подчиненное устройство. Можно ли так скопировать таблицы Innodb?
  2. Запустите сброс таблицы с блокировкой чтения, скопируйте файл на новое ведомое устройство и разблокируйте таблицу, и это возможно для таблиц myisam, могу ли я сделать то же самое и для таблиц innodb?

Спасибо, что посмотрели на вопрос.

Вам не нужно отключать ведущее устройство, так как ведомое устройство у вас уже есть. Однако вам нужно будет выключить подчиненное устройство (ну, это проще всего, это не обязательно, но требуется в процессе ниже).

Это процесс, который я использую для создания ведомого устройства (данные linux, mysql на lvm):

  • Остановить существующего раба
  • Сделайте снимок LVM
  • Запустить раб
  • Смонтируйте снимок в / snap
  • Скопируйте / snap / var / lib / mysql в / var / lib / mysql на новом ведомом устройстве
  • Убедитесь, что server-id установлен на новом ведомом устройстве и имеет значение, отличное от старого.
  • Запустите mysqld на новом ведомом устройстве

И последний шаг: если репликация работает, отключите и удалите снимок 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

Я ежедневно перестраиваю таких рабов, это доказало свою эффективность.