linux系统MySQL主从同步--使用binlog日志方式

声明:
如果您有更好的技术与作者分享,或者商业合作;
请访问作者个人网站 http://www.esqabc.com/view/message.html 留言给作者。
如果该案例触犯您的专利,请在这里:http://www.esqabc.com/view/message.html 留言给作者说明原由,
作者一经查实,马上删除。

复制方式

MySQL5.6开始主从复制有两种方式:基于日志(binlog)、基于GTID(全局事务标示符)。
本文只涉及基于日志binlog的主从配置
1、基于语句的复制SBR(基于sql语句复制)-statement
在Master上执行的SQL语句,在Slave上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。一旦发现没法精确复制时,会自动选着基于行的复制

2、基于行的复制RBR(基于行的复制)-row
把改变的内容复制到Slave,而不是把命令在Slave上执行一遍。从MySQL5.0开始支持

3、混合类型的复制MBR(混合模式复制)-mixed
默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制

关于复制过滤

复制过滤可以让你只复制服务器中的一部分数据,有两种复制过滤:

1、在Master上过滤二进制日志中的事件
2、在Slave上过滤中继日志中的事件。

1,准备工具:

(1)linux 系统的Mysql数据库(一个作为主数据库),如果不用知道自己的数据库版本,请执行:mysql -V
在这里插入图片描述
(2)linux 系统的Mysql数据库(一个作为从数据库,注意:从数据库可以多个)
在这里插入图片描述
注意:同步的两个数据库版本一致,windows系统安装的MySql数据库命令有所不同。

2,配置Master(主数据库)

1,如果数据库正在运行,请先停止服务, 执行命令:service mysql stop

2,修改配置文件(my.cnf),安装路径不同,注意配置文件所在的位置,windows系统的文件为(my.ini),
执行命令:vim /usr/local/mysql/my.cnf 保存退出命令:按键盘Esc 然后输入 (:wq )

[mysqld]
## 设置server_id,一般设置为IP,注意要唯一,确保主从不相同
server_id=1
## 复制过滤:也就是指定哪个数据库不用同步
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=test
##设置同步数据库(:esqsui)
binlog-do-db=esqsui 	
## 开启二进制日志功能,可以随便取,最好有含义(关键就是这里了)
log-bin=mysql-bin-1
##MySQL 磁盘写入策略以及数据安全性
##每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值