MySQL binlog format主从复制各模式区别

名词释义

STATEMENT causes logging to be statement based. 不安全,快速

ROW causes logging to be row based. 安全,有可能执行缓慢,效率不高

MIXED causes logging to use mixed format. 根据情况选择合适的解决方案:判断陈述是否是不确定性。有可能造成不安全结果

使用方式

mysql> SET GLOBAL binlog_format = 'STATEMENT';
mysql> SET GLOBAL binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'MIXED';

区别解释

case1:

UPDATE mytable SET a = a + 1 LIMIT 1;

STATEMENT 并不保证哪一个数据会被更新,因为在磁盘中的顺序无法保证,而ROWS可以保证准确的数据。

case2

UPDATE mytable SET a = a + 1;

STATEMENT 只用复制少量bytes表示该复制操作,而如果数据量较大,ROWS会复制全部数据,造成非常大的binlog日志。

参考:

https://dev.mysql.com/doc/refman/5.7/en/binary-log-setting.html

https://serverfault.com/questions/212549/which-binlog-format-to-use-for-mysql-replication

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里云购买的云数据库MySQL可以通过配置主从复制实现主库数据实时同步到从库,以提高系统的可用性和容错性。下面是具体的配置步骤: 1. 创建主库和从库实例,并开通内网访问。 2. 在主库实例中创建一个新的账号,用于从库同步数据,授权该账号访问主库实例的所有权限。 3. 在主库实例中开启 binlog,可以通过修改 my.cnf 配置文件中添加如下配置实现: ``` log-bin=mysql-bin binlog-format=ROW ``` 4. 在主库实例中创建一个用于同步数据的账号,并授权该账号访问主库实例。 5. 在从库实例中配置主从同步,可以通过修改 my.cnf 配置文件中添加如下配置实现: ``` server-id=2 relay-log=relay-bin relay-log-index=relay-bin.index read-only=1 log-slave-updates=1 ``` 其中,server-id 为从库实例的唯一标识,relay-log 和 relay-log-index 为从库实例中的中继日志文件,read-only=1 表示从库实例只读,log-slave-updates=1 表示从库实例也记录更新日志。 6. 在从库实例中配置主库访问账号,可以通过修改 my.cnf 配置文件中添加如下配置实现: ``` master-host=主库实例内网地址 master-port=3306 master-user=用于同步数据的账号 master-password=用于同步数据的账号密码 ``` 其中,master-host、master-port、master-user 和 master-password 分别为主库实例的内网地址、端口号、用于同步数据的账号和密码。 7. 在从库实例中启动主从同步,可以通过执行如下命令实现: ``` CHANGE MASTER TO MASTER_HOST='主库实例内网地址', MASTER_PORT=3306, MASTER_USER='用于同步数据的账号', MASTER_PASSWORD='用于同步数据的账号密码', MASTER_LOG_FILE='主库实例中的最新 binlog 文件名', MASTER_LOG_POS=最新 binlog 文件的位置; ``` 其中,MASTER_LOG_FILE 和 MASTER_LOG_POS 分别为主库实例中的最新 binlog 文件名和位置,可以通过 SHOW MASTER STATUS 命令查看。 通过以上步骤配置主从复制后,主库的数据变化会实时同步到从库,提高了系统的可用性和容错性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值