码迷,mamicode.com
首页 > 数据库 > 详细

MySQL备份方案

时间:2015-05-25 16:30:06      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

下面将分别模拟不同场景数据库宕机解决方案:这里应用到的技术分别为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)还原后进行向外提供服务(若数据量较大,时间上是个瓶颈,影响业务。)

 

MySQL备份方案

标签:

原文地址:http://www.cnblogs.com/wangbaigui/p/4527944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!