MySQL
MySQL高可用配置
MySQL Slave状态参数详解
基于二进制日志文件的复制
使用全局事务标识符GTID复制
MySQL安装升级
MySQL RPM包安装参考
MySQL编译化安装参考
MySQL Server版本升级
MySQL 操作手册/说明
MySQL导入导出操作
库,表,字段的字符集修改方法
根据字段生成自定义SQL语句
MySQL查询流程概述
MySQL 常用脚本
MySQL数据库冷备脚本
MySQL内存占用分析
MySQL内存消耗分析
检查MySQL引起的高内存占用
InnoDB下的内存分析和优化计算
MySQL常见问题
MySQL告警:Aborted connection日志的分析
MySQL使用命令kill进程后出现killed死锁问题
从库重起初始化relaylog失败
安全插件Connection-Control导致无法登录的问题
MySQL性能优化
MySQL查询慢性能分析
本文档使用 MrDoc 发布
-
+
home page
MySQL Slave状态参数详解
## MySQL同步机制 MySQL同步功能由3个线程(master上1个,slave上2个)来实现。 执行 `mysql>START SLAVE;` 语句后,slave就创建一个I/O线程。I/O线程连接到master上,并请求master发送二进制日志中的语句。 master创建一个线程来把日志的内容发送到slave上。这个线程在master上执行 ``` mysql> show processlist; +----+----------+----------------------+------+-------------+------+---------------------------------------------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+----------+----------------------+------+-------------+------+---------------------------------------------------------------+------------------+ | 3 | copyuser | 192.168.29.228:29991 | NULL | Binlog Dump | 3303 | Master has sent all binlog to slave; waiting for more updates | NULL | | 14 | root | localhost | NULL | Query | 0 | starting | show processlist | +----+----------+----------------------+------+-------------+------+---------------------------------------------------------------+------------------+ 2 rows in set (0.01 sec) ``` 语句后的结果中的 `Binlog Dump` 线程便是。slave上的I/O线程读取master的`Binlog Dump` 线程发送的语句,并且把它们拷贝到其数据目录下的中继日志(relay logs)中。第三个是SQL线程,salve用它来读取中继日志,然后执行它们来更新数据。 如上所述,每个master/slave上都有3个线程。每个master上有多个线程,它为每个slave连接都创建一个线程,每个slave只有I/O和SQL线程。 `show slave status;` 用于提供有关从属服务器线程的关键参数的信息: ``` *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.27.239 Master_User: copyuser Master_Port: 53306 Connect_Retry: 60 Master_Log_File: log.000005 Read_Master_Log_Pos: 585437746 Relay_Log_File: host-192-168-29-228-relay-bin.000013 Relay_Log_Pos: 585437947 Relay_Master_Log_File: log.000005 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: 585437746 Relay_Log_Space: 585438209 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: 110 Master_UUID: 66eafb32-a34f-11eb-af0a-020017006b3d Master_Info_File: /data/mysql/datadir/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates 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 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: ``` ## 配置项详细说明 1. `Slave_IO_State` : `SHOW PROCESSLIST`输出的State字段的拷贝。`SHOW PROCESSLIST`用于从属I/O线程。如果线程正在试图连接到主服务器,正在等待来自主服务器的时间或正在连接到主服务器等,本语句会通知您 2. `Master_Host` : 被用于连接主服务器的当前地址。 3. `Master_User` : 被用于连接主服务器的当前用户。 4. `Master_Port` : 当前的主服务器接口。 5. `Connect_Retry` : `--master-connect-retry`选项的当前值 6. `Master_Log_File` : I/O线程当前正在读取的主服务器二进制日志文件的名称。例如:log.000005 7. `Read_Master_Log_Pos` : 在当前的主服务器二进制日志中,I/O线程已经读取的位置。例如:585437746 8. `Relay_Log_File` : SQL线程当前正在读取和执行的中继日志文件的名称。例如:localhost-relay-bin.000013 Relay_Log_Pos: 585437947 Relay_Master_Log_File: log.000005 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: 585437746 Relay_Log_Space: 585438209 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: 110 Master_UUID: 66eafb32-a34f-11eb-af0a-020017006b3d Master_Info_File: /data/mysql/datadir/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates 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 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version:
Nathan
Aug. 13, 2021, 6:36 p.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
PDF文件
Docx文件
share
link
type
password
Update password