MySQL 5.5 寻常的复制环境管理命令
发布时间:2022-06-24 16:09:23 所属栏目: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) (编辑:包头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐