您的位置:首页 > 博客中心 > 数据库 >

Mysql 主从复制常用管理任务介绍

时间:2022-03-13 22:42


Mysql主从日常管理任务主要包括两种:

     SQL 线程也不再从中继日志读取事件并执行事件语句。如果想单独控制IO或者SQL线程,需要使用如

     下指令分别控制:


      

    #停止IO线程
    mysql> stop slave io_thread;
    #停止SQL线程
    mysql> stop slave sql_thread;
    
    #分别启用IO和SQL线程:
    mysql> start slave io_thread;
    mysql> start slave sql_thread;


    模拟控制线程并查看主从复制状态:


    停止IO线程,并查看主从复制状态:

    mysql> stop slave io_thread;
    Query OK, 0 rows affected (0.09 sec)
    
    mysql> show slave status\G
    *************************** 1. row ***************************
                   Slave_IO_State:
                      Master_Host: 192.168.200.20
                      Master_User: replica
                      Master_Port: 3306
                    Connect_Retry: 10
                  Master_Log_File: mysql-binlog.000017
              Read_Master_Log_Pos: 120
                   Relay_Log_File: mysql-relaylog.000007
                    Relay_Log_Pos: 286
            Relay_Master_Log_File: mysql-binlog.000017
                 Slave_IO_Running: No
                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: 120
                  Relay_Log_Space: 624
                  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: NULL
    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
                      Master_UUID: e84592e0-0e5b-11e4-a5d3-000c29e88022
                 Master_Info_File: /usr/local/mysql/data/master.info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
          Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
               Master_Retry_Count: 86400
                      Master_Bind:
          Last_IO_Error_Timestamp:
         Last_SQL_Error_Timestamp:
                   Master_SSL_Crl:
               Master_SSL_Crlpath:
               Retrieved_Gtid_Set:
                Executed_Gtid_Set:
                    Auto_Position: 0
    1 row in set (0.00 sec)


    可以看到Slave_IO_Status 状态值为No,而Slave_SQL_Status 状态值仍为 Yes.

    Slave_IO_Status 也为空值了。


    再停止SQL线程:

    mysql> stop slave sql_thread;
    Query OK, 0 rows affected (0.10 sec)
    
    mysql> show slave status\G
    *************************** 1. row ***************************
                   Slave_IO_State:
                      Master_Host: 192.168.200.20
                      Master_User: replica
                      Master_Port: 3306
                    Connect_Retry: 10
                  Master_Log_File: mysql-binlog.000017
              Read_Master_Log_Pos: 120
                   Relay_Log_File: mysql-relaylog.000007
                    Relay_Log_Pos: 286
            Relay_Master_Log_File: mysql-binlog.000017
                 Slave_IO_Running: No
                Slave_SQL_Running: No
                  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: 120
                  Relay_Log_Space: 624
                  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: NULL
    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
                      Master_UUID: e84592e0-0e5b-11e4-a5d3-000c29e88022
                 Master_Info_File: /usr/local/mysql/data/master.info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
          Slave_SQL_Running_State:
               Master_Retry_Count: 86400
                      Master_Bind:
          Last_IO_Error_Timestamp:
         Last_SQL_Error_Timestamp:
                   Master_SSL_Crl:
               Master_SSL_Crlpath:
               Retrieved_Gtid_Set:
                Executed_Gtid_Set:
                    Auto_Position: 0
    1 row in set (0.00 sec)


    可以看到Slave_IO_Status 、Slave_SQL_Status 状态值全为 No.

    再次执行"start slave" 或者分别执行"start slave io_thread"和"start slave sql_thread":

    mysql> start  slave ;
    mysql> show slave status\G
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 192.168.200.20
                      Master_User: replica
                      Master_Port: 3306
                    Connect_Retry: 10
                  Master_Log_File: mysql-binlog.000017
              Read_Master_Log_Pos: 120
                   Relay_Log_File: mysql-relaylog.000008
                    Relay_Log_Pos: 286
            Relay_Master_Log_File: mysql-binlog.000017
                 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: 120
                  Relay_Log_Space: 624
                  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:
                 Master_Server_Id: 1
                      Master_UUID: e84592e0-0e5b-11e4-a5d3-000c29e88022
                 Master_Info_File: /usr/local/mysql/data/master.info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
          Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
               Master_Retry_Count: 86400
                      Master_Bind:
          Last_IO_Error_Timestamp:
         Last_SQL_Error_Timestamp:
                   Master_SSL_Crl:
               Master_SSL_Crlpath:
               Retrieved_Gtid_Set:
                Executed_Gtid_Set:
                    Auto_Position: 0
    1 row in set (0.00 sec)


    查看复制状态,主从复制恢复正常.



    本文出自 “” 博客,请务必保留此出处

    Mysql 主从复制常用管理任务介绍,布布扣,bubuko.com

热门排行

今日推荐

热门手游