Возможно ли восстановить рекпликацию?

Есть 2 сервера с репликацией мастер-мастер, но на одном из серверов была ошибка и репликация не работала, в итоге большое отставание, в данный момент в логах ошибка:

Version: '5.5.44-MariaDB-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
161106 22:42:32 [Note] Slave I/O thread: connected to master 'replication_user@IP:3306',replication started in log 'mysql-bin.000068' at position 97123
161106 22:42:32 [ERROR] Error reading packet from server: Could not find first log file name in binary log index file ( server_errno=1236)
161106 22:42:32 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file', Error_code: 1236
161106 22:42:32 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000068', position 97123

Проблема в том, что на основном сервере файла mysql-bin.000068 уже нету, там только mysql-bin.000089 и т.д.

Статус:
Slave_IO_State 	
Master_Host 	{IP}
Master_User 	replication_user
Master_Port 	3306
Connect_Retry 	60
Master_Log_File 	mysql-bin.000068
Read_Master_Log_Pos 	97123
Relay_Log_File 	mysql-relay-bin.000002
Relay_Log_Pos 	4
Relay_Master_Log_File 	mysql-bin.000068
Slave_IO_Running 	No
Slave_SQL_Running 	Yes
Replicate_Do_DB 	
Replicate_Ignore_DB 	information_schema, performance_schema
Replicate_Do_Table 	
Replicate_Ignore_Table 	queue
Replicate_Wild_Do_Table 	
Replicate_Wild_Ignore_Table 	queue
Last_Errno 	0
Last_Error 	
Skip_Counter 	0
Exec_Master_Log_Pos 	97123
Relay_Log_Space 	245
Until_Condition 	None
Until_Log_File 	
Until_Log_Pos 	0
Master_SSL_Allowed 	No
Master_SSL_CA_File 	
Master_SSL_CA_Path 	
Master_SSL_Cert 	
Master_SSL_Cipher 	
Master_SSL_Key 	
Seconds_Behind_Master


Я правильно понимаю, что продолжить нормальную репликацию уже невозможно и нужно будет делать дамп всех БД на основном сервере, разворачивать его на втором и заново настраивать репликацию?
  • Вопрос задан
  • 407 просмотров
Решения вопроса 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
да, все верно понимаете.
выбираем "хороший" сервер, с него перезаливаем "плохой", перезапускаем репликацию.
howto
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы