Резервный MySQL-сервер
Материал из ISPWiki
Подготовка сервера
Если на текущем сервере нет второго сетевого интерфейса, то пропустите данный шаг.
Откройте файл /etc/network/interfaces
# nano /etc/network/interfaces
и добавьте строки
auto ethX
iface ethX inet static
address 10.0.0.5
netmask 255.0.0.0
где X - это номер сетевого интерфейса.
Чтобы изменения вступили в силу, необходимо выполнить команду:
# /etc/init.d/networking restart
Установка и настройка MySQL-сервера
Выполните установку MySQL-сервера следующей командой:
# apt-get install mysql-server
Получите статус бинарных логов основного MySQL-сервера:
# ssh root@10.0.0.4 "echo \"SET GLOBAL read_only = ON; SHOW MASTER STATUS;\" | mysql -uroot -pXXX"
где XXX - пароль root, а 10.0.0.4 - это IP-адрес основного MySQL-сервера.
Запишите значения полученных из ответа переменных LogFile и LogPosition, так как они потребуются позже.
Остановите основной MySQL-сервер:
# ssh root@10.0.0.4 "/etc/init.d/mysql stop"
Скопируйте с основного MySQL-сервера файл /etc/mysql/my.cfg:
# scp root@10.0.0.4:/etc/mysql/my.cfg /etc/mysql/
Откройте файл /etc/mysql/my.cfg
# nano /etc/mysql/my.cfg
и измените опцию server-id в разделе mysqld
... [mysqld] ... server-id 2 ...
Скопируйте директорию /var/lib/mysql с основного MySQL-сервера:
# scp -r root@10.0.0.4:/var/lib/mysql/* /var/lib/mysql/
Запустите основной MySQL-сервер:
# ssh root@10.0.0.4 "/etc/init.d/mysql start"
Перезапустите локальный MySQL-сервер командой:
# /etc/init.d/mysql restart
Запустите репликацию баз данных на MySQL-сервере:
# echo "CHANGE MASTER TO MASTER_HOST = '10.0.0.4', MASTER_USER = 'replication', MASTER_PASSWORD = 'YYY', \ MASTER_PORT = 3306, MASTER_CONNECT_RETRY = 10, MASTER_LOG_FILE = 'LogFile', MASTER_LOG_POS = LogPosition; \ START SLAVE;" | mysql -uroot -pXXX"
где XXX - пароль root, YYY - пароль пользователя для репликаций, 10.0.0.4 - это IP-адрес основного MySQL-сервера, а LogFile и LogPosition - это полученные выше переменные.
Зарегистрируйте MySQL-сервер в ISPmanager Cluster:
# ssh root@10.0.0.6 "/usr/local/ispmgr/sbin/mgrctl -m ispmgr clusternodes.new ip=10.0.0.5 sok=ok" # ssh root@10.0.0.6 "/usr/local/ispmgr/sbin/mgrctl -m ispmgr clusternodes.roles.edit plid=10.0.0.5 \ name=MySQL port=3306 enable=on priority=100 sok=ok"
где 10.0.0.6 - это IP-адрес Мастер-узла.
