MySQL数据库基于Binlog日志的主从同步


前言

在我之前的博客中,对MySQL数据库的AB复制原理、主从同步已做过相应的介绍,只不过那个主从同步是基于GTID的主从同步,本次来简单介绍一下基于Binlog日志的主从同步。

一、实验环境

系统:CentOS 7.4
关闭firewalld
关闭selinux
Master和Slave两台机器分别互做本地解析

主机功能
192.168.139.158主库(MySQL-Master)
192.168.139.159备库(MySQL-Slave)

二、主从同步配置

这里MySQL数据库安装省略了,做实验前应事先把MySQL数据库安装好,可参考我前面的博客《Mysql数据库编译安装及yum安装》进行安装。

2.1 配置Master端

在主服务器上,必须启用二进制日志记录并配置唯一的服务器ID,配置完成后需要重启服务器。

(1)修改配置文件(添加新内容)

[root@master ~]# vim /etc/my.cnf   # 在配置文件后面添加如下内容
[mysqld]
log-bin=/var/log/mysql/mysql-bin   # 指定存放Binlog日志的目录
server-id=1

(2)创建存放Binlog日志的目录

[root@master ~]# mkdir /var/log/mysql

(3)给存放Binlog日志的目录修改属主/组

[root@master ~]# chown mysql.mysql /var/log/mysql

(4)重启mysqld

[root@master ~]# systemctl restart mysqld

(5)登录mysql并创建主从同步用户

[root@master ~]# mysql -uroot -p
mysql> GRANT REPLICATION SLAVE ON *.*  TO  'zrs'@'%'  identified by 'ZRSanqy@123';
mysql> flush privileges;

(6)查看Master状态

在这里插入图片描述

2.2 配置Slave端

(1)修改配置文件(添加新内容)

[root@slave ~]# vim /etc/my.cnf
[mysqld]
server-id=2

(2)重启mysqld

[root@slave ~]# systemctl restart mysqld

(3)登录mysql并配置连接Master

[root@slave ~]# mysql -uroot -p
mysql> \e
    -> ;
Query OK, 0 rows affected, 2 warnings (0.06 sec)

在这里插入图片描述

(4)开始同步

mysql> start slave;
mysql> show slave status\G

在这里插入图片描述

总结

以上就是MySQL基于Binlog日志的主从同步,实现原理及方法很简单,只要在操作过程中小心点,一般都不会出现什么问题,同步的关键在于Master的Binlog日志文件和位置点,因此在Master的配置文件中指定好Bonlog日志的存放路径并修改Binlog日志所在目录的属主和属组,然后在Slave端修改配置相应的连接信息(包括授权用户、Master主机名、授权密码、Master的Binlog日志名、位置点等),最后再start slave即可实现主从同步。

点击跳转到开头

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值