1.MYSQL的主从复制(异步复制)的基本信息
主从复制的要求【查看官网mydql.com】
(1)主库开启binlog日志(设置log-bin参数)
(2)主从server-id不同
(3)从库服务器能连同主库
主从复制的原理:
mysql的主从配置又叫replication,AB复制,基于binlog二进制日志,主数据库必须开启binlog(对主库的操作的记录)二进制日志才能进行复制
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2)从库生成两个线程,一个i/o线程,一个SQL线程,i/o线程去请求主库的binlog,sql线程进行日志回放来复制
(3) slave将master的binary log events拷贝到它的中继日志(relay log);
(4)slave重做中继日志中的事件,将更改应用到自己的数据上。
mysql的主从复制(异步复制)(基于position)把一个事件拆开来复制,并不是以一个完整的事件为单位来进行复制
一开始两个mysql必须一模一样,否则会报错
master自己做自己的,写在自己的日志里
slave能否同步成功取决于IO线程,和SQL线程回放日志
IO通过联系master拿到master的二进制日志,SQL回放日志
slave节点的数据总比master节点的数据慢
异步复制:在主节点写入日志即返回成功,默认情况下MySQL5.5/5.6/5.7和mariaDB10.0/10.1的复制功能是异步的
异步复制可以实现最佳的性能,主库把binlog日志发送给从库,这一动作就结束了,并不验证从库,会造成主从库数据不一致
2.实验操作:
主机 | 功能 |
---|---|
172.25.254.1 | 主库 |
172.25.254.2 | 从库 |
异步复制:顾名思义就是两个数据库不是同步的,创建数据的时候肯定有前有后,并不是两个同时创建起数据
先创建数据的数据库叫做master节点,后面复制master节点数据的数据库叫做slave节点
因此把这种异步复制的方式也可以叫做主从复制
- (1)从真机上面给server1(master节点)和server2(slave节点)各传一个mysql安装包
cd 到mysql安装包存放的路径下面
scp mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar root@172.25.254.1:/root
scp mysql-5.7.24-