Репликация MySQL группы: застрял на ВОССТАНОВЛЕНИЕ навсегда

У меня есть два сервера MySQL, которые работают на одной группе репликации. Настройка была выполнена с помощью следующих шагов:

  1. Первый сервер - это производственный сервер с большим количеством данных.
  2. Я установил его только для чтения и выгрузил данные, а затем восстановил их на резервном сервере MySQL.
  3. После восстановления я выполнил "START GROUP_REPLICATION", и он успешно присоединился к группе. Все данные хорошо синхронизируются между двумя серверами.

Но я обнаружил другую ошибку: каждый раз, когда я перезагружаю резервный MySQL (путем перезапуска сервисов), он автоматически присоединяется к группе, но застревает на RECOVERING навсегда, я ждал 3 дня, но он все еще находился в RECOVERING. Я проверил в журнале и не вижу ошибок на обоих серверах, все выглядит хорошо, за исключением того, что резерв работает только для чтения и остается на RECOVERING.

Какой шаг я пропустил?

Моя конфигурация группы (я следовал инструкциям на странице справки DigitalOcean по адресу https://www.digitalocean.com/community/tutorials/how-to-configure-mysql-group-replication-on-ubuntu-16-04):

Двоичная регистрация # log_bin = /data/database / mysql_bin199 expire_logs_days = 14

sync_binlog = 1 binlog_format = ROW

Общие параметры репликации gtid_mode = ON принудительное_действие_конфигурация = ВКЛ master_info_repository = ТАБЛИЦА relay_log_info_repository = ТАБЛИЦА binlog_checksum = НЕТ log_slave_updates = ON

log_bin = binlog

binlog_format = ROWaction_write_set_extraction = XXHASH64oose-group_replication_bootstrap_group = OFF

oose-group_replication_start_on_boot = ONoose-group_replication_ssl_mode = ТРЕБУЕТСЯ свободная-group_replication_recovery_use_ssl = 1

Конфигурация группы общих репликаций oose-group_replication_group_name =

"9dc4ae01-6664-437a-83f8-80546d58e025 "oose-group_replication_ip_whitelist = "172.AAA.BBB.166,138.AAA.BBB.199"oose-group_replication_group_seeds = "172.AAA.BBB.166:33061.BBAA 0,199:33061"

Одиночный или мульти-основной режим? Раскомментируйте эти две строки

для многоосновного режима, где любой хост может принимать записи, свободные-group_replication_single_primary_mode = OFF

oose-group_replication_enforce_update_everywhere_checks = ON

Конфигурация репликации конкретного хоста server_id = 2 report_host = "138.AAA.BBB.199"oose-group_replication_local_address =

"138.AAA.BBB.199:33061"

Ниже журнал MySQL на первом сервере:

2018-06-08T06: 10: 12.167400Z 0 [Предупреждение] Плагин group_replication

сообщил: "Участники удалены из группы: 138.AAA.BBB.199:3306"

2018-06-08T06:10:12.167475Z 0 [Примечание] Плагин group_replication

сообщил: "Членство в группе изменено на 172.AAA.BBB.166: 3306 по просмотру

15271181169364149:11 ". 2018-06-08T06:11:59.032666Z 0 [Примечание] Плагин

Группа_репликация сообщила: "Участники присоединились к группе:

138.AAA.BBB.199: 3306 '2018-06-08T06: 11: 59.032722Z 0 [Примечание] Плагин group_replication сообщил: "Членство в группе изменено на

172.AAA.BBB.166:3306, 138.AAA.BBB.199:3306 по представлению 15271181169364149:12.'

Ниже представлен журнал MySQL на резервном сервере:

2018-06-11T09: 22: 57.490896Z 0 [Предупреждение], опция 'max_allowed_packet':

значение без знака 3221225472 скорректировано до 1073741824

2018-06-11T09: 22: 57.490942Z 0 [Предупреждение] Использование InnoDB является обязательным

начиная с MySQL 5.7. Предыдущие параметры, такие как '--innodb=0/1/OFF/ON' или

'--skip-innodb' игнорируются. 2018-06-11T09:22:57.491057Z 0 [Предупреждение]

Синтаксис --log_warnings/-W устарел и будет удален в

будущий выпуск. Пожалуйста, используйте вместо --log_error_verbosity.

2018-06-11T09: 22: 57.491098Z 0 [Предупреждение] TIMESTAMP с неявным

Значение DEFAULT устарело. Пожалуйста, используйте

--explicit_defaults_for_timestamp опция сервера (более подробную информацию смотрите в документации). 2018-06-11T09:22:57.492972Z 0 [Примечание] / usr / sbin / mysqld

(mysqld 5.7.22-log) запускается как процесс 31633...

2018-06-11T09: 22: 57.500063Z 0 [Предупреждение] InnoDB: Использование

innodb_locks_unsafe_for_binlog УСТАРЕЛО. Эта опция может быть

удалены в будущих выпусках. Пожалуйста, используйте транзакцию READ COMMITTED

вместо этого уровень изоляции; Пожалуйста, обратитесь к

http://dev.mysql.com/doc/refman/5.7/en/set-transaction.html

2018-06-11T09: 22: 57.500175Z 0 [Примечание] InnoDB: поддержка перфорации

доступно 2018-06-11T09:22:57.500191Z 0 [Примечание] InnoDB: мьютексы и

rw_locks использует атомарные встроенные функции GCC 2018-06-11T09:22:57.500200Z 0 [Примечание]

InnoDB: использует мьютексы событий 2018-06-11T09:22:57.500205Z 0 [Примечание]

InnoDB: встроенный в GCC __atomic_thread_fence() используется для барьера памяти

2018-06-11T09:22:57.500209Z 0 [Примечание] InnoDB: использование сжатых таблиц

zlib 1.2.3 2018-06-11T09:22:57.500213Z 0 [Примечание] InnoDB: Использование Linux

нативный AIO 2018-06-11T09:22:57.500430Z 0 [Примечание] InnoDB: число

пулы: 1 2018-06-11T09:22:57.500575Z 0 [Примечание] InnoDB: использование CPU crc32

инструкции 2018-06-11T09:22:57.501015Z 0 [ОШИБКА] InnoDB: не удалось

создать файл контрольного сектора, номер ошибки: 13 Пожалуйста, подтвердите, что O_DIRECT

поддерживается и удалите файл /data/check_sector_size, если он существует.

2018-06-11T09: 22: 57.502305Z 0 [Примечание] InnoDB: инициализация пула буферов,

общий размер = 4G, экземпляры = 8, размер куска = 128M

2018-06-11T09: 22: 57.799065Z 0 [Примечание] InnoDB: завершена инициализация

буферного пула 2018-06-11T09:22:57.857325Z 0 [Примечание] InnoDB: Если

Пользователь выполнения mysqld авторизован, приоритет потока чистильщика страниц может

быть изменен. Смотрите справочную страницу setpriority ().

2018-06-11T09: 22: 57.870317Z 0 [Примечание] InnoDB: самый высокий поддерживаемый файл

Формат Барракуда. 2018-06-11T09:22:58.081570Z 0 [Примечание] InnoDB:

Создание общего табличного пространства для временных таблиц

2018-06-11T09:22:58.081656Z 0 [Примечание] InnoDB: файл настроек

Размер '/data/database /ibtmp1' до 12 МБ. Физически написание файла

полный; Пожалуйста, подождите... 2018-06-11T09:22:58.116190Z 0 [Примечание] InnoDB:

Размер файла '/data/database /ibtmp1' теперь составляет 12 МБ.

2018-06-11T09: 22: 58.117279Z 0 [Примечание] InnoDB: 96 повторных откатов

сегмент (ы) найден. 96 повторных сегментов отката активны.

2018-06-11T09: 22: 58.117293Z 0 [Примечание] InnoDB: 32 откат без повторного отката

Сегмент (ы) являются активными. 2018-06-11T09:22:58.117670Z 0 [Примечание] InnoDB:

Ожидание начала продувки 2018-06-11T09:22:58.168094Z 0 [Примечание]

InnoDB: 5.7.22 запущено; порядковый номер журнала 51745666191

2018-06-11T09: 22: 58.168309Z 0 [Примечание] InnoDB: загрузка пула буферов

из / data / database / ib_buffer_pool 2018-06-11T09: 22: 58.168558Z 0

[Примечание] Плагин "FEDERATED" отключен. 2018-06-11T09: 22: 58.183268Z 0

[Предупреждение] CA сертификат /etc/mysql/mysql-ssl/ca-cert.pem является самостоятельным

подписан. 2018-06-11T09:22:58.184615Z 0 [Примечание] Имя хоста сервера

(адрес для привязки): "138.AAA.BBB.199"; порт: 3306

2018-06-11T09: 22: 58.184636Z 0 [Примечание] - "138.AAA.BBB.199" разрешает

'138.AAA.BBB.199'; 2018-06-11T09:22:58.184668Z 0 [Примечание] Серверный сокет

создан на IP: "138.AAA.BBB.199". 2018-06-11T09: 22: 58.186203Z 0

[Предупреждение] 'user' entry 'mysql.session@localhost' игнорируется в

--skip-имя-разрешение режима. 2018-06-11T09:22:58.186220Z 0 [Предупреждение] 'user' entry 'mysql.sys@localhost' игнорируется в --skip-name-resolver

Режим. 2018-06-11T09:22:58.186238Z 0 [Предупреждение] "пользовательская" запись

phpmadsys@localhost игнорируется в режиме --skip-name-resolver.

2018-06-11T09: 22: 58.186260Z 0 [Предупреждение] "пользовательская" запись

phpmyadmin@localhost игнорируется в режиме --skip-name-resolver.

2018-06-11T09: 22: 58.186308Z 0 [Предупреждение] 'db' entry 'performance_schema

mysql.session@localhost 'игнорируется в режиме --skip-name-Resolution.

2018-06-11T09: 22: 58.186313Z 0 [Предупреждение] 'db' entry 'sys

mysql.sys@localhost 'игнорируется в режиме --skip-name-resolution.

2018-06-11T09: 22: 58.186318Z 0 [Предупреждение] 'db' entry 'phpmyadmin

phpmadsys@localhost 'игнорируется в режиме --skip-name-Resolution.

2018-06-11T09: 22: 58.186322Z 0 [Предупреждение] 'db' запись 'performance_schema

datadog @ localhost 'игнорируется в режиме --skip-name-resolution.

2018-06-11T09: 22: 58.186327Z 0 [Предупреждение] 'db' entry 'phpmyadmin

phpmyadmin@localhost 'игнорируется в режиме --skip-name-Resolution.

2018-06-11T09: 22: 58.186340Z 0 [Предупреждение] 'proxies_priv' запись '@

root @ localhost 'игнорируется в режиме --skip-name-Resolution.

2018-06-11T09: 22: 58.188628Z 0 [Warning] user 'tables_priv' entry 'user

mysql.session@localhost 'игнорируется в режиме --skip-name-Resolution.

2018-06-11T09: 22: 58.188649Z 0 [Предупреждение] запись "tables_priv"

"sys_config mysql.sys@localhost" игнорируется в режиме --skip-name-Resolution.

2018-06-11T09: 22: 58.192624Z 0 [Предупреждение] Ни --relay-log, ни

--relay-log-index были использованы; поэтому репликация может прерваться, когда этот сервер MySQL действует как ведомый и ему изменено имя хоста!! Пожалуйста, используйте

'--relay-log=dvm02-relay-bin', чтобы избежать этой проблемы.

2018-06-11T09: 22: 58.206545Z 0 [Примечание] Планировщик событий: загружено 0 событий

2018-06-11T09:22:58.206745Z 0 [Примечание] /usr/sbin/mysqld: готов к

соединения. Версия: "5.7.22-log" сокет:

Порт /var/run/mysqld/mysqld.sock: 3306 MySQL Community Server

(GPL) 2018-06-11T09: 22: 58.207175Z 2 [Примечание] Плагин group_replication

сообщил: "Конфигурация SSL групповой связи:

group_replication_ssl_mode: "ОБЯЗАТЕЛЬНО"; server_key_file:

"/Etc/mysql/mysql-ssl/server-key.pem"; server_cert_file:

"/Etc/mysql/mysql-ssl/server-cert.pem"; client_key_file:

"/Etc/mysql/mysql-ssl/server-key.pem"; client_cert_file:

"/Etc/mysql/mysql-ssl/server-cert.pem"; ca_file:

"/Etc/mysql/mysql-ssl/ca-cert.pem"; ca_path: ""; шифр: "";

tls_version: "TLSv1, TLSv1.1"; crl_file: ""; crl_path: "" '

2018-06-11T09: 22: 58.207378Z 2 [Предупреждение] Плагин group_replication

сообщил: "[GCS] Автоматическое добавление адреса локального хоста IPv4 к

Белый список. Это обязательно, что это добавлено.

2018-06-11T09:22:58.207820Z 2 [Примечание] Плагин group_replication

сообщил: "Инициализированная групповая связь с конфигурацией:

group_replication_group_name: "9dc4ae01-6664-437a-83f8-80546d58e025";

group_replication_local_address: "138.AAA.BBB.199:33061";

group_replication_group_seeds:

"172.AAA.BBB.166: 33061,138.AAA.BBB.199:33061";

group_replication_bootstrap_group: false;

group_replication_poll_spin_loops: 0;

group_replication_compression_threshold: 1000000;

group_replication_ip_whitelist: "172.AAA.BBB.166,138.AAA.BBB.199" '

2018-06-11T09: 22: 58.207853Z 2 [Примечание] Плагин group_replication

сообщил: "[GCS] Настроено количество попыток присоединения: 0"

2018-06-11T09:22:58.207859Z 2 [Примечание] Плагин group_replication

сообщил: "[GCS] Настроил время между попытками присоединения: 5 секунд"

2018-06-11T09:22:58.207878Z 2 [Примечание] Плагин group_replication

сообщил: 'Конфигурация участника: member_id: 2; member_uuid:

"822868f9-52a0-11e8-aa0e-1e45f9551f27"; одиночный основной режим: "ложь";

group_replication_auto_increment_increment: 7; '

2018-06-11T09: 22: 58.209024Z 3 [Примечание] "ИЗМЕНИТЬ МАСТЕР НА КАНАЛ"

'group_replication_applier' выполнен '. Предыдущее состояние

master_host = '', master_port = 0, master_log_file = '',

master_log_pos = 4, master_bind = ''. Новое состояние master_host = '',

master_port = 0, master_log_file = '', master_log_pos = 4, master_bind = ''.

2018-06-11T09: 22: 58.216904Z 6 [Примечание] Ведомый поток SQL для канала

инициализация 'group_replication_applier', запуск репликации в журнале

"ПЕРВЫЙ" в положении 0, релейный журнал

Позиция './dvm02-relay-bin-group_replication_applier.000071': 4

2018-06-11T09: 22: 58.216931Z 2 [Примечание] Плагин group_replication

сообщил: "Модуль применения групповой репликации успешно инициализирован!"

2018-06-11T09:22:58.241357Z 0 [Примечание] Плагин group_replication

сообщил: "Версия протокола XCom: 3" 2018-06-11T09: 22: 58.241397Z 0

[Примечание] Плагин group_replication сообщил: "XCom инициализирован и готов

принимать входящие соединения через порт 33061 '

2018-06-11T09: 22: 59.213826Z 0 [Примечание] InnoDB: загрузка пула буферов

завершено в 180611 11:22:59 2018-06-11T09:23:00.316791Z 0 [Примечание]

Плагин group_replication сообщил: "Членство в группе изменено на

172.AAA.BBB.166:3306, 138.AAA.BBB.199:3306, 15271181169364149:16.'

0 ответов

Извините за задержку.

Из вашего журнала ошибок я не вижу проблем с восстановлением, но я также не вижу попыток подключения. Интересно, есть ли у вас проблемы с данными в журналах ретрансляции групповой репликации...

Я предлагаю вам открыть ошибку, если проблема все еще сохраняется. В качестве обходного пути вы можете попытаться сбросить канал applier до "START GROUP_REPLICATION"

СБРОС РАБОТЫ ВСЕ ДЛЯ КАНАЛА "group_replication_applier";

Другие вопросы по тегам