После выхода 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
-
Наушники Градо Igi
19 Oct, 24 -
Киберсказка: О Сотворении Мира
19 Oct, 24 -
А Что Если Без Javascript?
19 Oct, 24 -
Три Буквы, О Которых Ты Не Знаешь
19 Oct, 24