Chinaunix首页 | 论坛 | 博客
  • 博客访问: 874775
  • 博文数量: 354
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3730
  • 用 户 组: 普通用户
  • 注册时间: 2017-08-21 18:43
文章分类

全部博文(354)

文章存档

2019年(126)

2018年(223)

2017年(5)

我的朋友

分类: Mysql/postgreSQL

2018-05-28 14:07:18

? 基于语句复制的优势:

属于比较成熟的技术,得到广泛使用

当SQL语句会修改很多数据时,使用语句复制会比较节省空间

由于二进制文件中包含了所有的修改语句,所以可以用来做审计功能

? 基于语句复制的劣势:

某些特定的修改语句在基于语句复制的环境中复制会有问题,比如:

语句中包含自定义函数或者不确定性的存储过程

update/delete语句中包含Limit语句但不包含order by语句属于不确定性语句

一些函数比如rand(), sysdate(),version()等由于不确定性也会导致复制异常

每个导致复制异常的语句都会产生一个告警信息

[Warning] Statement is not safe to log in statement format.

? 基于行复制的优势:

所有的数据库修改都可以被复制,是一种安全的方式

由于是行复制,所以某些语句在主库和从库上执行需要较少的lock

? 基于行复制的劣势:

当DML语句涉及到多行的修改时,则由于行复制会把每行的修改信息都记录下来,所以bin log会很大,有可能会导致复制的延迟相比较语句复制要大,不能直接查看在备库中执行的SQL语句

建议仅使用InnoDB表做行复制,对MyISAM表的行复制有可能会导致复制异常。

  互联网企业大多用的数据库是MySQL的,想要众多的IT工作者中脱颖而出,就需要拥有高深的技 术,学习增值是必不可少的。学习之路,是贵在坚持的。老男孩教育MySQL DBA课程,几经更新课程,杜绝纸上谈兵,全企业真实案例结合理论授课,想深


阅读(1073) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~