Как установить репликацию
Удостоверитесь, что Вы установили на обоих серверах свежую версию mysql,. Необходима версия 3.23.29 или выше. Предыдущие версии не будут корректно работать. Создайте специального пользователя репликации на основном сервере с привилегией FILE и разрешением коннекта от всех резервных серверов. Если пользователь только делает репликацию - не давайте ему никакие дополнительные привилегии. Например, пользователь repl (с любых серверов) GRANT FILE ON *.* TO repl@”%” IDENTIFIED BY ‘
Остановите основной сервер MySQL. mysqladmin -u root -p
Сделайте копию всей базы данных Вашего сервера К примеру, на UNIX tar -cvf /tmp/mysql-snapshot.tar /path/to/data-dir Распакуйте на резервных серверах (в соответствующие каталоги)
На основном сервере в файле my.cnf, установите параметры
[mysqld]
log-bin
server-id=1
server-id - должен отличатся от server_id резервных серверов, возможно - использовать что-то похожее на IP-адрес без точек.
Перезапустите mysql на основном сервере.
На резервных серверах в файле my.cnf, установите параметры
master-host=
master-user=
master-password=
master-port=
server-id=
Установите необходимые значения и перезапустите резервные сервера (server_id - должны быть уникальны)
Если Вы забыли устанавливать server_id для резервного сервера, в логах будет ошибка: Warning: one should set server_id to a non-0 value if master_host is set. The server will not act as a slave. Если Вы не установите на основном, резервные сервера не смогут соединиться с основным. Проверьте лог ошибок на резервных серверах, при возникновении проблем.
После успешного соединения создается файл master.info в том же каталоге что и лог ошибок. Не трогайте этот служебный файл - он используется, чтоб отслеживать обработку полного журнала изменений данных (Binary Update Log) от основного сервера. Для того чтоб что-то изменить используйте команду CHANGE MASTER TO
Примечания: Версия 3.23.42-1, при использовании репликации определенной базы данных приведенная выше команда grant не работает, необходимо вручную подправить File_priv column в таблице user.
Март
19,
2008
— Рубрика: MySQL
Метки: IP-адрес, server-id, Репликация
