暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

17.1.5 Common Replication Administration Tasks

原创 由迪 2020-03-02
545

17.1.5.1 Checking Replication Status
17.1.5.2 Pausing Replication on the Slave

复制一旦开始,它应该执行而无需太多的常规管理。根据您的复制环境,您将需要定期,每天或更频繁地检查每个从属服务器的复制状态。

17.1.5.1检查复制状态
管理复制过程时,最常见的任务是确保正在进行复制,并且从属服务器和主服务器之间没有错误。主要的语句是SHOW SLAVE STATUS,您必须在每个从站上执行:

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: master1
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 931
               Relay_Log_File: slave1-relay-bin.000056
                Relay_Log_Pos: 950
        Relay_Master_Log_File: mysql-bin.000004
             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: 931
              Relay_Log_Space: 1365
              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: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids: 0

复制

状态报告中要检查的关键字段是:

Slave_IO_State:从站的当前状态。有关更多信息,请参见第8.14.6节“复制从属I / O线程状态”和 第8.14.7节“复制从属SQL线程状态”。

Slave_IO_Running:用于读取主设备二进制日志的I / O线程是否正在运行。通常,Yes除非您尚未开始复制或使用明确停止了复制,否则您希望这样做STOP SLAVE。

Slave_SQL_Running:用于执行中继日志中事件的SQL线程是否正在运行。与I / O线程一样,通常应为 Yes。

Last_IO_Error, Last_SQL_Error:处理中继日志时I / O和SQL线程注册的最后错误。理想情况下,这些应该为空白,表示没有错误。

Seconds_Behind_Master:从属SQL线程落后于处理主二进制日志的秒数。较高的数字(或递增的数字)可以指示从属无法及时处理来自主控的事件。

Seconds_Behind_Master 通常将 0的值解释为从属已跟上了主服务器,但是在某些情况下,这并非完全正确。例如,如果主服务器和从服务器之间的网络连接断开,但从服务器的I / O线程尚未注意到这一点(即slave_net_timeout尚未过去),则可能发生这种情况。

的瞬态值 Seconds_Behind_Master也可能无法准确反映情况。当从属SQL线程追上I / O时,Seconds_Behind_Master显示0;否则,显示0。但是当从属I / O线程仍在排队新事件时,Seconds_Behind_Master可能会显示一个较大的值,直到SQL线程完成执行新事件为止。当事件具有旧时间戳时,这种情况尤其可能发生;在这种情况下,如果您SHOW SLAVE STATUS在较短的时间内执行 了几次,则可能会看到此值在0和较大的值之间来回反复变化。

几对字段提供有关从设备从主二进制日志读取事件并在中继日志中处理事件的进度信息:

(Master_Log_file, Read_Master_Log_Pos):主二进制日志中的坐标,指示从I / O线程已从该日志读取事件的距离。

(Relay_Master_Log_File, Exec_Master_Log_Pos):主二进制日志中的坐标,指示从SQL线程已执行从该日志接收的事件的距离。

(Relay_Log_File, Relay_Log_Pos):从属中继日志中的坐标,指示从属SQL线程已执行中继日志的距离。这些对应于先前的坐标,但是以从属中继日志坐标而不是主二进制日志坐标表示。

该SHOW STATUS语句还提供了一些专门与复制从属有关的信息。通过显示的复制心跳信息 SHOW STATUS,即使主服务器最近未将事件发送到从服务器,您也可以检查复制连接是否处于活动状态。如果二进制日志中没有更新,并且没有未发送的事件,并且比心跳间隔更长的时间,则主设备会向从设备发送心跳信号。该MASTER_HEARTBEAT_PERIOD在主(由所设置的设置CHANGE MASTER TO语句)指定心跳的频率,默认为用于从属连接超时间隔的一半(slave_net_timeout)。的 Slave_last_heartbeat变量SHOW STATUS 显示复制从属何时最后一次收到心跳信号。

在主服务器上,您可以使用SHOW PROCESSLIST检查运行的进程列表来检查已连接的从服务器的状态。从站连接 Binlog Dump在该Command 字段中:

mysql> SHOW PROCESSLIST \G;
*************************** 4. row ***************************
     Id: 10
   User: root
   Host: slave1:58371
     db: NULL
Command: Binlog Dump
   Time: 777
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL

复制

由于是从属驱动复制过程,因此该报告中几乎没有可用的信息。

对于以该–report-host选件启动并连接到主站的从站, 主站上的SHOW SLAVE HOSTS语句显示有关从站的基本信息。输出包括从服务器的ID,–report-host选项的值 ,连接端口和主ID:

mysql> SHOW SLAVE HOSTS;
+-----------+--------+------+-------------------+-----------+
| Server_id | Host   | Port | Rpl_recovery_rank | Master_id |
+-----------+--------+------+-------------------+-----------+
|        10 | slave1 | 3306 |                 0 |         1 |
+-----------+--------+------+-------------------+-----------+
1 row in set (0.00 sec)


复制
最后修改时间:2020-03-02 21:38:59
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论