mysql复制的三种方式
- 基于SQL语句的复制(statement-based replication, SBR) 对应binlog STATEMENT格式
- 基于行的复制(row-based replication, RBR) 对应binlog row格式
- 混合模式复制(mixed-based replication, MBR) 对应binlog mixed格式
show slave status\G 查看
- slave I/O线程的状态
1.waiting for master update 等待连接到主库进行同步,是连接之前的状态
2.connecting to master 正在尝试连接到主库
3.waiting to reconnect after a failed binlog dump request 因为断开连接,导致binlog请求失败,I/O线程进入休眠状态,定期尝试重连
4.waiting for master to send event 连接正常,等待binlog - Master_Log_File 当前I/O线程正在读取的主服务器二进制日志文件的名称。
- Read_Master_Log_Pos 当前I/O线程正在读取的二进制日志的位置。
- Relay_Log_File 当前slave SQL线程正在读取并执行的relay log的文件名。
- Relay_Log_Pos 当前slave SQL线程正在读取并执行的relay log文件中的位置
- Relay_Master_Log_File SQL线程从relay日志中读取的正在执行的sql语句,对应主库的sql语句记录在主库的binlog日志信息
- Slave_IO_Running I/O线程是否被启动并成功地连接到主服务器上。若为yes则说明成功连接8.Slave_SQL_Running SQL线程是否被启动,若为yes则说明正常连接
- Relay_Log_Space 中继日志的总大小。
- seconds_Behind_Master: 是slave当前的时间戳和master记录该事件时的时间戳的差值。
- SQL_Delay 主从延迟
- Slave_SQL_Running_State SQL线程运行状态
- Reading event from the relay log 线程已经从中继日志读取一个事件,可以对事件进行处理了。
- Has read all relay log / waiting for the slave I/O thread to update it 线程已经处理了中继日志文件中的所有事件,现在正等待I/O线程将新事件写入中继日志。
- Retrieved_Gtid_Set 获取到的GTID<IO线程>
- Executed_Gtid_Set 执行过的GTID<SQL线程>
参数
- 主库参数
binlog-do-db = # 需要复制的库 只记录某个数据库的binlog
binlog-ignore-db = # 需要被忽略的库 不记录某个数据库的binlog - 从