MySQL是一个非常优秀的开源数据库,也是装机数量最多的数据库之一。少数几台MySQL人工就可以管理了。但当服务器几十、上百台的时候,如果光靠人力维护,这个维护成本就相当高了,如和提高MySQL服务器的可用性这个问题摆在MySQLDBA和系统架构师们面前。你手上这本书讲了一些方法和工具,能够帮助你解决这些问题中的大部分。
MySQL复制技术简单来说就是将Master的数据同步到Slave上。通过使用MySQL复制技术可以提高数据库系统的可用性,可以实现数据的异地备份,可以实现服务器的负载均衡。
复制允许在出现不可避免的故障情况下提供高可用的数据服务。故障的原因很多,包括磁盘、服务器或数据中心的损耗。即使所有的硬件都是完美无缺的且完全冗余。还有人为因素的影响。例如,数据库表可能被误删,应用程序可能写入不正确的数据等,总会有偶然的故障发生。但通过合理的准备工作,可以保证从故障中恢复,关键是冗余和备份。MySQL复制支持冗余和备份。
但MySQL的复制并不仅限于支持故障的恢复,它还频繁用于读操作的横向扩展。MySQL可以实现大量服务器的高效复制。对于那些频繁的应用,在商用硬件上支持大量的查询是一个低成本的有效策略。
MySQL复制还有其它有用的应用。在线DDL是关系型数据库管理系统中非常复杂的一个特性。MySQL不支持在线的DDL,但是通过使用复制,往往可以住足够好地部分实现它。如果有创新,还可以复制更多的事情。
复制使得MySQL如此广泛流行的特性之一,它允许将流行的MySQL原型转换为成功的商业关键部署。复制主张简单且便于使用,这一点和MySQL非常的相似。然而,在生产环境中运行往往不够完美.MySQL的复制还在不断地完善。与故障一样,总是存在变化的。对于这些变化,使得复制变得更高效、更健壮、更有趣。基于行的复制是MySQL5.1中的新特性。
尽管MySQL部署形态各异,规模各不相同,MySQL到分布式存储系统。