高性能MYSQL---基于binlog的主从复制

高性能MYSQL—基于binlog的主从复制

1.主从复制原理

mysql的主从配置又叫replication,AB复制,基于binlog二进制日志,主数据库必须开启binlog二进制日志才能进行复制。

  • 主数据库将更改操作记录到binlog二进制日志(主数据库有log dump线程和从数据库的i/o线程传递binlog)。
  • 从库生成两个线程,一个i/o线程,一个SQL线程
  • i/o线程去请求主库的binlog,并且得到的binlog日志写到relay log(中继日志)文件中
  • 然后主库会生成一个log dump线程,用来给从库的i/o线程传binlog;SQL线程,会读取中继日志文件,并解析成具体的操作执行,这样主从的操作就一致了,而最终的数据也就一致了。

作为异步复制,其主库将事件写入binlog二进制文件,dump线程将binlog文件发送出去,不保证其他从节点是否会收到binlog二进制文件。

2.实现主从复制的要求

1.主库开启binlog日志(设置log-bin参数)
2.主从server-id不同
3.从库服务器能连同主库

3.主从复制的实现

- 配置主库端:

step1 在主库中安装mysql:

yum remove mysql-libs	#清除yum里所有mysql依赖包
rpm -ivh mysql-community-common-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.25-1.el6.x86_64.rpm --nodeps

step2 打开数据库:

systemctl start mysqld

在这里插入图片描述
step3 查看初始化密码:

cat /var/log/mysqld.log | grep password

step4 安全初始化:

mysql_secure_installation

在这里插入图片描述
step5 编辑配置文件:

vim /etc/my.cnf
最后面添加:
 29 log-bin=mysql-bin     #开启二进制日志
 30 server-id=1           #服务器ID

systemctl restart mysqld	#重启服务

在这里插入图片描述
step6 创建用户并授权:
参数解释:
replication    表示授权复制的权限
*.*         表示所有数据库可以进行同步
repl        表示授权名,可以随意填写
'172.25.254.%'   表示授权172.25.19.0/24的网段所有服务器可以同步, %表示任意
在这里插入图片描述
在这里插入图片描述

- 配置从库端:

step1 在主库中安装mysql:

yum remove mysql-libs	#清除yum里所有mysql依赖包
rpm -ivh mysql-community-common-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-5.7.25-1.el6.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.25-1.el6.x86_64.rpm --nodeps

step2 打开数据库:

systemctl start mysqld

step3 查看初始化密码:

cat /var/log/mysqld.log | grep password

step4 安全初始化:

mysql_secure_installation

step5 编辑配置文件:

vim /etc/my.cnf
最后面添加:
 28 server-id=2           #服务器ID,填写主端不同即可

systemctl restart mysqld	#重启服务

在这里插入图片描述
step6 设定从设备并开启从设备:
注意:master_log_file 和master_log_pos 的值都要依照主设备状态中的值来设定

在这里插入图片描述
在这里插入图片描述

- 测试:

step1 在主库端创建库:
在这里插入图片描述
step2 在从库中可以看到westos库:
在这里插入图片描述
step3 在主库中创建表,并插入数据:
在这里插入图片描述
step4 在从库中可以看到数据:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值