您好,欢迎访问一九零五行业门户网

MySQL实验室DMB数据库监控及灾备系统 之 [备份模式的选择]

很多企业,特别是中、大型互联网企业都在大量的使用mysql数据库,并且绝大部分情况下使用的都是innodb存储引擎。使用innodb存储引擎有很多因素,比如事务安全、自动恢复、行锁、在线备份等等特性。 在mysql数据库应用和运维中,除了数据库状态和性能监控之外
很多企业,特别是中、大型互联网企业都在大量的使用mysql数据库,并且绝大部分情况下使用的都是innodb存储引擎。使用innodb存储引擎有很多因素,比如事务安全、自动恢复、行锁、在线备份等等特性。
在mysql数据库应用和运维中,除了数据库状态和性能监控之外,数据库的备份一直没有很好的工具去管理,dmb数据库监控及灾备系统就是为解决这一矛盾而诞生的。
dmb系统中备份配置中总共有7种备份模式,下面将针对它们分别介绍,什么样的情况下应该选择什么样的备份模式,以实现最高效的备份,且尽可能的减少对业务的影响。
mysqldump:调用mysql系统的mysqldump命令进行备份。其中在只有innodb的情况下,可以实现在线热备,不会影响线上业务;在有myisam表的情况下,在备份过程当中会增加全局锁,这时候系统是只读的。备份之后会生成 master信息,可以通过备份的sql文件和master_info.sql 创建slave服务。ibbackup_all:备份所有的innodb和myisam表,在没有myisam表的情况下,备份过程中不会对线上业务造成影响,属于在线热备;如果存在myisam表,那么在备份完innodb之后,备份myisam的过程中mysql数据库是只读的。备份会生成master_info.sql,用于创建slave。ibbackup_innodb:针对只有innodb表的情况,不会备份myisam表,属于在线热备,不会造成写堵塞。备份会生成master_info.sql,用于创建slave。ibbackup_nonblock:针对只有innodb的情况,不备份myisam表,属于在线热备,对系统不造成任何堵塞。备份不生成master_info.sql,不能用该备份创建slave,只用于备份用。xtrabackup_all: 同 ibbackup_allxtrabackup_innodb: 同 ibbackup_innodbxtrabackup_nonblock: 同 ibbackup_nonblock说明:
备份模式中以ibbackup开头的调用的是 ibbackup,以xtrabackup开头的调用的是xtrabackup。所有备份都包含mysql数据库系统库mysql和配置文件my.ini在不清楚的情况下备份模式可以选择mysqldump、ibbackup_all、xtrabackup_all 。ibbackup、xtrabackup都属于物理备份,恢复速率比mysqldump要大,能缩短恢复时间。其中 ibbackup_nonblock、xtrabackup_nonblock不会调用flush操作,因此在任何情况下都不会影响在线业务。而其他几种备份模式因为为了取得master info信息,有些会在瞬间加上全局锁然后释放,在极端情况下会对数据库造成一定影响。具体情况以及针对现有mysql的patch会在后续的blog中加以阐述。related posts:
mysql企业级数据库灾备(备份)系统-dmb v2.1发布mysql5.5复制/同步的新特性及改进mysql vs nosql 效率与成本之争mysql 5.5 released(非ga)mysql5.6发布及其新特性? 谭俊青 发布在 mysql性能、mysql cluster集群、mysql ha高可用等研究 - mysql实验室, 2011.
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息。
链接: http://www.mysqlab.net/blog/2011/04/dmb-database-mysql-backup-method/
标签: dmb, ibbackup, xtrabackup, 在线热备, 备份
其它类似信息

推荐信息