Репликация MySQL группы: застрял на ВОССТАНОВЛЕНИЕ навсегда
У меня есть два сервера MySQL, которые работают на одной группе репликации. Настройка была выполнена с помощью следующих шагов:
- Первый сервер - это производственный сервер с большим количеством данных.
- Я установил его только для чтения и выгрузил данные, а затем восстановил их на резервном сервере MySQL.
- После восстановления я выполнил "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";