标签:
下面将分别模拟不同场景数据库宕机解决方案:这里应用到的技术分别为innobackuper及binlog日志来进入还原数据
一、主从库情况下(为了不影响主库的性能,备份都放在从库上进行)当主库宕机时,如何最快切换从库为主库提供服务,在后续主库修复后重新切换回来。
准备环境:
1)主库时时备份binlog日志文件,默认保留7天binlog文件。
2)从库每天通过innobackuper软件进行一次全备
3)从库同样开启binlog日志记录,并时时备份日志文件,默认保留7天binlog文件。
4)从库每小时进行一次增量备份
故障环境:
现主库出现问题,不能提供服务,且修复时间较长。为了不影响业务,方案如下:
1)马上停止主库
2)从库停止主从进程
3)从库当前已经和主库同步到哪,切换从库为主库时有两种情况:
a)查看从库是否已经同步完主库的binlog日志,如果同步完。
a1)若同步完情况下先别急着做切换,而是先通过show master status查看当前从库的binlog位置在哪,记录下。
(目的是为了等主库修复完成后,可通过切换回,并将从库从切换主库的那时到最后的数据还原的主库中。)
a2)当主库修复完成后,先将从库设置为只读模式,并将从库后面生成的binlog日志数据还原到主库中,再启动主库 提供服务,再到从库中通过change maste to命令从新指定主库的最新binlog文件及位置做从库。
b) 查看从库还没有同步完主库的binlog日志时,就先将未读完的binlog日志发到从库中,进行恢复,其他操作就如第 一种情况一样。
二、一台数据库情况下(此情况针对业务不是繁忙的情况下)
准备环境:
1)每天进行一次全备
2)每小时进行一次增备
3)binlog日志时时备份
故障环境:
现数据库出现宕机,不能提供服务,且修复时间较长,现解决方案如下:
1)将最后一次全备的备份数据在另一数据库机器上进行还原
2)查看最后一次全备的binlog及位置进行增量还原
3)还原后进行向外提供服务(若数据量较大,时间上是个瓶颈,影响业务。)
标签:
原文地址:http://www.cnblogs.com/wangbaigui/p/4527944.html