[toc]
mysql普通主从复制
1.mysql主从复制过程
1.master开启binlog(二进制)日志、授权slave复制用户,slave开启relay-log(中继)日志
2.slave IO线程会通过在master上已经授权的复制用户权限请求连接master服务器,带着change master to信息(user、host、password、binlog、binlog_pos、port)去问master dump线程有没有slave指定的binlog、binlog_pos,有则拉取binlog
2.slave IO线程会通过在master上已经授权的复制用户权限请求连接master服务器,带着change master to信息(user、host、password、binlog、binlog_pos、port)去问master dump线程有没有slave指定的binlog、binlog_pos,有则拉取binlog
4.SQL线程会从relay-log中读取binlog解析成sql语句执行,同时会把上一次读取的relay-log位置记录到relay-log.info,以便于下一次读取的时候知道从什么位置读取,因为SQL线程从relay-log中读取binlog并不是一次全部读完的

官方示意图

2.实验环境
| 角色 | IP | 主机名 | mysql版本 |
|---|---|---|---|
| master | 10.0.0.100 | db01 | 5.7.22 |
| slave | 10.0.0.101 | db02 | 5.7.22 |