首页 > 代码库 > 高性能mysql 第10章 复制
高性能mysql 第10章 复制
复制功能不仅能够构建高可用的应用,同时也是高可用性,可扩展性,灾难恢复,备份以及数据仓库等工作的基础。
mysql支持两种复制方式:基于语句的复制和基于行的复制。基于语句的复制(也成为逻辑复制)是早期版本提供的功能,基于行的复制是5.1版本加入的。这两种方式都是通过在主库上记录二进制日志,在从库上重放日志来实现异步的数据复制。这意味着,同一时间,主库和从库的数据可能是不一致的。并且无法保证主从之间的延迟。一些大的语句可能导致主从之间几秒,几分钟,甚至几小时的延迟。
复制通常不会增加主库的开销.主要是启动二进制日志带来的开销.但是出于备份但是出于备份或即使从崩溃中恢复的目的,这点开销是必要的.(个人理解:这里应该说的是事务日志,二进制日志和事务日志应该是一个东西).除此之外,每个从库要从主库上读取日志,所以会增加主库的网络IO开销.
基于语句的复制其实是把sql语句在从库上重放,基于行的复制,要在主库上记录那些行被修改了,然后在从库上做对应的操作.
mysql不支持一个从库有多个主库.
从库不仅可以作为分担读压力的库.而且可以作为全文检索的库.因为mysql本身支持全文检索,只在MyISAM存储引擎下,才支持全文检索,所以可以把从库的存储引擎设置为MyISAM,然后在从库上做全文检索.
最好在设计初期就能容忍复制的延迟,如果从库的数据出现延迟就会导致无法很好的工作,那么应用程序也许就不该用到复制.
具体配置主从复制的方法和细节暂时不学习了.
高性能mysql 第10章 复制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。