mysql复制有啥优势?mysql数据库

• 基于语句复制的优势:

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

当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课程,几经更新课程,杜绝纸上谈兵,全企业真实案例结合理论授课,想深入的学习MySQL DBA的知识,可以关注下老男孩教育。

猜你喜欢

转载自my.oschina.net/u/3837521/blog/1819919