文章目录
前言:在数据库中进行操作时,事实上大小写都是通用的,但尽量使用大写
1 mysql的异步复制(基于position的主从复制)
1.1. 如何查询官网教程
1.2.MYSQL的主从复制(异步复制)的基本信息
异步复制(主从复制)master节点不会关心slave节点的状态,只需要写自己的数据即可
能不能完成复制看slave节点的io线程和sql线程是否开启
1.2.1 主从复制的要求:
(1)主库开启binlog日志(设置log-bin参数)
(2)主从server-id不同
(3)从库服务器能连同主库
1.2.2 主从复制的原理:
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日志发送给从库,这一动作就结束了,并不验证从库,会造成主从库数据不一致
1.3.搭建实验环境
两台7版本的虚拟机+一台7版本的真机
主机信息 | 主机的功能 |
---|---|
server1(192.168.0.11) | 数据库的master节点 |
server2(192.168.0.12) | 数据库的slave节点 |
真机(192.168.0.20)- | -测试- |
1.4 .基于position的主从复制
异步复制:顾名思义就是两个数据库不是同步的,创建数据的时候肯定有前有后,并不是两个同时创建起数据
先创建数据的数据库叫做master节点,后面复制master节点数据的数据库叫做slave节点
因此把这种异步复制的方式也可以叫做主从复制
(1)从真机上面给server1(master节点)和server2(slave节点)各传一个mysql安装包
[root@server1 ~]# tar xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
删除没有用的:rm -rf devel、embe、mini、server-minimal、test
最终只有5个rpm包
(2)官网参考一下