存档

文章标签 ‘在线热备’

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

2011年4月14日 谭俊青 1 条评论

很多企业,特别是中、大型互联网企业都在大量的使用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_ALL
  • XTRABACKUP_INNODB: 同 IBBACKUP_INNODB
  • XTRABACKUP_NONBLOCK: 同 IBBACKUP_NONBLOCK

说明:

  1. 备份模式中以IBBACKUP开头的调用的是 ibbackup,以XTRABACKUP开头的调用的是xtrabackup。
  2. 所有备份都包含MySQL数据库系统库mysql和配置文件my.ini
  3. 在不清楚的情况下备份模式可以选择MYSQLDUMP、IBBACKUP_ALL、XTRABACKUP_ALL 。
  4. IBBACKUP、XTRABACKUP都属于物理备份,恢复速率比MYSQLDUMP要大,能缩短恢复时间。
  5. 其中 IBBACKUP_NONBLOCK、XTRABACKUP_NONBLOCK不会调用flush操作,因此在任何情况下都不会影响在线业务。而其他几种备份模式因为为了取得master info信息,有些会在瞬间加上全局锁然后释放,在极端情况下会对数据库造成一定影响。具体情况以及针对现有MySQL的patch会在后续的blog中加以阐述。

MySQL企业级数据库灾备(备份)系统-DMB v2.1发布

2011年4月5日 谭俊青 7 条评论

为了这系统宅了很多个周末,又一个小长假过去了, DMB v2.1终于可以那得出手了,现在分享出来让朋友们使用,希望能得到更多更好的建议。DMB 对InnoDB存储引擎支持在线热备(ibbackup, xtrabackup等),还可以根据用户需求选择备份模式,是否加锁获取Master信息等。
“DMB数据库监控及灾备系统(监控、备份) for MySQL” 简单介绍见 http://www.mysqlab.net/tool/dmb/

Manager端下载

安装:直接解压 dmbmanager.zip(比如解压至 c:\dmbmanager) ,然后打开 c:\dmbmanager 执行 setup.exe
依次执行 保存配置项、初始化系统、获取key文件,然后将申请获得的dmb.key文件复制到安装目录,即 c:\dmbmanager
然后点启动服务,或者等待服务器重启,dmbmanager服务将自动启动。
Agent端下载
安装:直接解压 dbmagent.zip 至安装目录,比如 c:\dmbagent
配置安装目录下的 dmb.ini文件,将url地址改为Manager端安装的地址
然后执行 install.bat (win7右键以管理员身份执行)
系统管理
Manager安装好之后 用浏览器打开
http://localhost:8288/ (远程为:http://ipaddress:8288)进行管理
默认用户名和密码为:
用户: root
密码: mysqlab.net
进入系统之后,在右上角的系统配置里面修改用户名、密码等相关信息。
其中smtp用于报警发送邮件,收件人地址及为用户信息里配置的邮件地址。

– ———————
update: 2011/10/1
根据朋友们的反馈信息,这里补充几点。
1:目前DMBManager和DMBAgent只支持Windows平台。
2:本机备份的时候IP地址请填127.0.0.1
3:实例添加/编辑的时候,my.ini 请填写windows地址,比如:c:\windows\my.ini
4:备份配置的时候,本地备份目录请填写windows目录,比如:c:\dbbackup
– ———————