加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 5.5 寻常的复制环境管理命令

发布时间:2022-06-24 16:47:13 所属栏目:MySql教程 来源:互联网
导读:MySQL 5.5 常用的复制环境管理命令: 1、检查Slave节点的各个状态 显示slave线程的重要参数。 mysql show slave statusG *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host:
          MySQL 5.5 常用的复制环境管理命令:

  1、检查Slave节点的各个状态
  显示slave线程的重要参数。
  mysql> show slave statusG
  *************************** 1. row ***************************
                 Slave_IO_State: Waiting for master to send event
                    Master_Host: 192.168.78.139
                    Master_User: repl
                    Master_Port: 3306
                  Connect_Retry: 60
                Master_Log_File: mysql-bin.000012
            Read_Master_Log_Pos: 414
                 Relay_Log_File: mysqld-relay-bin.000002
                  Relay_Log_Pos: 560
          Relay_Master_Log_File: mysql-bin.000012
               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: 414
                Relay_Log_Space: 717
                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: 100
  1 row in set (0.00 sec)
 
  Slave_IO_State 这个字段是SHOW PROCESSLIST输出结果中State字段的拷贝。这个字段告诉你线程正在做什么。
 
  Slave_IO_Running 指示I/O线程是否启动并成功连接到Master。
 
  Slave_SQL_Running 指示SQL线程是否启动
 
  Last_IO_Errno, Last_IO_Error 导致I/O线程停止运行的错误号和错误日志,如果Last_IO_Error里面的值不是空值,则相关的错误也会出现在slave节点的错误日志里。
 
  Last_SQL_Errno, Last_SQL_Error 导致SQL线程停止运行的错误号和错误日志,错误号为0且错误日志为空,说明没有错误。
 
  Seconds_Behind_Master Slave节点与Master节点的延迟时间。当Slave节点正在进行更新操作的时候,这个字段会显示Slave节点上面现有时间和Master节点对同一事件处理时间的差异。当Slave节点没有事件的时候,这个值为0。
 
  Master_Log_File I/O线程正在读取的Master节点的二进制日志的名称
 
  Read_Master_Log_Pos I/O线程正在读取的Master节点的二进制日志的位置
 
  Relay_Master_Log_File SQL线程最近执行过的event(事件)所在的Master二进制日志文件名
 
  Exec_Master_Log_Pos SQL线程读取和执行的Master节点二进制日志的位置,下一个事务或事件将从这个位置开始。当你执行CHANGE MASTER TO语句的时候,可以使用这个字段的值。
 
  Relay_Log_File SQL线程正在读取和执行的relay log名称
 
  Relay_Log_Pos SQL线程正在读取和执行的relay log的位置
 
  2、显示线程状态
 
  Master节点的线程状态
  mysql> show processlistG
  ERROR 2006 (HY000): MySQL server has gone away
  No connection. Trying to reconnect...
  Connection id:    4
  Current database: *** NONE ***
 
  *************************** 1. row ***************************
       Id: 2
     User: repl
     Host: 192.168.78.137:42524
       db: NULL
  Command: Binlog Dump
     Time: 63044
    State: Master has sent all binlog to slave; waiting for binlog to be updated
     Info: NULL
 
  Slave节点的线程状态
  mysql> show processlistG
  *************************** 1. row ***************************
       Id: 2
     User: system user
     Host:
       db: NULL
  Command: Connect
     Time: 62933
    State: Waiting for master to send event
     Info: NULL
  *************************** 2. row ***************************
       Id: 3
     User: system user
     Host:
       db: NULL
  Command: Connect
     Time: 62831
    State: Slave has read all relay log; waiting for the slave I/O thread to update it
     Info: NULL
 
  3、显示当前有多少个Slave节点注册到Master节点,在Master节点执行
  mysql> SHOW SLAVE HOSTS;
  +-----------+------+------+-----------+
  | Server_id | Host | Port | Master_id |
  +-----------+------+------+-----------+
  |       200 |      | 3306 |       100 |
  +-----------+------+------+-----------+
  1 row in set (0.00 sec)
 
  4、停止slave线程。执行这个命令需要SUPER权限。推荐的最佳实践是在关闭Slave节点数据库服务之前执行STOP SLAVE这个命令。
  mysql> stop slave;
  Query OK, 0 rows affected (0.14 sec)
 
  mysql> show slave statusG
  *************************** 1. row ***************************
                 Slave_IO_State:
                    Master_Host: 192.168.78.139
                    Master_User: repl
                    Master_Port: 3306
                  Connect_Retry: 60
                Master_Log_File: mysql-bin.000012
            Read_Master_Log_Pos: 414
                 Relay_Log_File: mysqld-relay-bin.000002
                  Relay_Log_Pos: 560
          Relay_Master_Log_File: mysql-bin.000012
               Slave_IO_Running: No
              Slave_SQL_Running: No
 
  可以单独停止某个线程
  mysql> stop slave io_thread;
  Query OK, 0 rows affected (0.00 sec)
 
  5、启动两个slave线程。I/O线程负责从master服务器中读取事件(events)并将它们储存到relay log中。SQL线程负责从relay log中读取事件并执行它们。执行START SLAVE需要SUPER权限。
  mysql> start slave;
  Query OK, 0 rows affected (0.08 sec)
  mysql> stop slave sql_thread;
  Query OK, 0 rows affected (0.00 sec)
 
  可以单独启动某个线程
  mysql> start slave sql_thread;
  Query OK, 0 rows affected (0.00 sec)
  mysql> start slave io_thread;
  Query OK, 0 rows affected (0.00 sec)

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!