本人不是mysql砖家,只是普通的管理员,本着对事物的完美追求,最大限度地保障系统的安全和稳定,从数据完整和服务持续性考虑,和你们分享下,我目前采用的方案。mysql
mysqldump能够实现彻底备份,但要锁表,mysqlbinlog能够实现某故障点以前的恢复。第三方工具xtrabackup能够实现彻底备份和增量备份,是在线热备工具(innodb行锁不影响读写,myisam只读锁,影响写)。能够结合mysqlbinlog和xtrabackup实现灵活完善的备份方案。sql
mysql高可用,采用lvs+mha实现,1主2从的架构;mha监控这三台数据库的主从和是否可用状态。当主数据库发生故障,mha会监控节点,自动切换到指定的从数据库;指定的从数据库变成主,主变成指定故障切换的从。故障切换过程当中,mha会作一系列动做,避免复制和一致性问题,从而保证数据的完整性。此架构没有作读写分离,读写负担都在主数据库上面,从只是起到高可用和数据备份的做用。结合lvs的keepalive能够实如今访问ip不变的状况下,作无缝切换。对于用户来讲,虽然主数据库已经发生故障,但访问的ip没变,在后台已经从主数据库,切换到指定从,整个过程只要3-7秒的时间。数据库
若是结合奇虎的atlas实现主从读写分离,1主写,多从读,将是一个支持高性能高并发高可用,数据完整的mysql经典架构。 安全
转载~~~~ http://lipengfei666666.blog.51cto.com/6384154/1613937架构