Увеличение задержки репликации MySQL

У меня есть простая настройка репликации главный-подчиненный. Все работало без проблем больше года.

Несколько дней назад отставание репликации начало расти, и оно все еще увеличивается без видимой причины.

Seconds_Behind_Master теперь более 4 дней и 6 часов.

Работают как подчиненные потоки SQL, так и IO, проблем со связью нет.

SHOW SLAVE STATUS\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: s1.my.pl
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.001674
          Read_Master_Log_Pos: 10948252
               Relay_Log_File: mysqld-relay-bin.000509
                Relay_Log_Pos: 63370742
        Relay_Master_Log_File: mysql-bin.001638
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 63370596
              Relay_Log_Space: 3523067396
              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: 371329
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
1 row in set (0.00 sec)

Показывать полный список процессов выдает странный вывод в одной строке "exit mysqld_lock_tables()", я не уверен, что это значит

 SHOW FULL PROCESSLIST;
+-----+-------------+-----------+------+---------+--------+----------------------------------+-----------------------+-----------+---------------+-----------+
| Id  | User        | Host      | db   | Command | Time   | State                            | Info                  | Rows_sent | Rows_examined | Rows_read |
+-----+-------------+-----------+------+---------+--------+----------------------------------+-----------------------+-----------+---------------+-----------+
| 808 | system user |           | NULL | Connect |    892 | Waiting for master to send event | NULL                  |         0 |             0 |         1 |
| 809 | system user |           | NULL | Connect | 371477 | exit mysqld_lock_tables()        | NULL                  |         0 |             0 |         1 |
| 810 | root        | localhost | NULL | Query   |      0 | NULL                             | SHOW FULL PROCESSLIST |         0 |             0 |       401 |
+-----+-------------+-----------+------+---------+--------+----------------------------------+-----------------------+-----------+---------------+-----------+

Команда SHOW_OPEN_TABLES показывает, что ни одна таблица не заблокирована

Любые подсказки, что я могу сделать, чтобы исправить это или как получить более подробный диагноз?

1 ответ

Одной из проблем с репликацией MySQL является сериализация ввода-вывода в ведомом устройстве. В то время как мастер выполняет несколько задач ввода-вывода одновременно, они записываются в один журнал ретрансляции, который затем выполняется ведомым, что приводит к сериализации ввода-вывода. Следовательно, ваш подчиненный всегда должен иметь большую пропускную способность ввода / вывода, чем ваш ведущий.

Чтобы узнать, действительно ли у вас возникла проблема с вводом / выводом, установите ioprompt ( домашняя страница).

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

stop slave;
start slave;

чтобы увидеть, если это решит проблему? Затем попробуйте остановить и запустить подчиненный процесс MySQL.

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