Настройка Репликации В Mysql 5.6

После выхода mysql 5.6 с его GTID (глобальным идентификатором транзакции) репликация в mysql перестала быть кошмаром системного администратора и стала вполне рабочим инструментом.

В Интернете есть определенное количество информации на эту тему, но она вся достаточно разрозненна и не всегда понятна.

По этой причине я решил сделать краткую инструкцию, в основном для себя, но, возможно, она будет полезна еще кому-то.

Мастер настройки У меня довольно теплые условия, а база пустая, дамп добавим после настройки мой.

cnf binlog-format=СТРОКА Существует три типа: ЗАЯВЛЕНИЕ, СМЕШАННОЕ и СТРОКА.

Короче говоря, оператор записывает в binlog по существу sql-запросы.

Достоинства - старый формат, проверенный, небольшой лог, можно просматривать запросы.

Недостатки — проблемы с функциями и триггерами, такие запросы, как обновление пользовательского набора a=1 порядка с помощью rand(), а также некоторые другие могут обрабатываться неправильно.

ROW, если говорить очень просто, записывает в логи измененные двоичные данные.

Плюсы — отлично логируются все типы запросов.

Недостатки - огромный лог.

Ну и смешанный — промежуточный формат, который пытается использовать оператор, когда это возможно, а когда нет — строку.

Говорят, что глючит на некоторых очень сложных запросах.

Это то, что я осмелился использовать.

binlog-checksum=crc32 Новая функция mysql5.6, кажется, ускоряет работу бинлога gtid-режим = вкл.

Фактически, он обеспечивает ту же самую репликацию в режиме GTID. Enforce-gtid-consistency = true Запрещает все, что может нарушить транзакции.

log-slave-updates = true В собственной документации говорится: сообщает подчиненному серверу вести записи обновлений, происходящих на подчиненном сервере, в двоичном журнале.

По умолчанию эта опция отключена.

Его следует включить, если вы хотите последовательно подключить подчиненные серверы.

идентификатор сервера = 1 Уникальный номер для каждого сервера Ну и не забудьте указать, что именно будем тиражировать - репликация-do-db = mybase репликация-do-table = mybase.mytable1 репликация-do-table=mybase.mytable2 После этого вам необходимо создать пользователя MySQL с правами репликации.

Например вот так ПРЕДОСТАВИТЬ ведомому устройству репликации ON *.

* TO «replication»@'192.168.1.102', ИДЕНТИФИЦИРОВАННОМУ «паролем»; На этом настройка мастера завершена.

Заливаем дамп в бой) Настройка подчиненного устройства В самом простом варианте на слейв можно скопировать тот же конфиг, что и на мастер, единственное, нужно изменить server_id, например на 2. Перезапустите подчиненное устройство и запустите репликацию.

измените мастер на master_host='192.168.1.1", master_auto_position=1, Master_User='replication', master_password='password'; запустить раб; и восхищаюсь показать статус подчиненного \G Теги: #MySQL #репликация #MySQL

Вместе с данным постом часто просматривают: