使用MySQL自身复制来恢复binlog
来源:互联网 发布:公务员工资计算软件 编辑:程序博客网 时间:2024/05/01 07:18
在MySQL手册中一直是推荐使用mysqlbinlog工具来实现指定时间点的数据恢复,事实上,这是一个经常"让人郁闷"的办法。更好的办法是,使用MySQL内部复制线程中的SQL Thread来做恢复。
这个idea来自Lazydba同学;在Google稍作搜索,在Xaprb上Baron Schwartz也很早提到了使用类似的方法来恢复binlog,在那篇讨论中,还可以看到Jeremy Cole也提到:使用MySQL手册中推荐的方法是困难重重的,而且mysqlbinlog这个办法从逻辑上来说也是一个错误--因为这样MySQL不得不在两个不同的地方实现一套相同的逻辑,最终难免会出错。使用mysqlbinlog来恢复,你可能会需要以下“让人郁闷”的问题:
(*) Max_allowed_packet问题(*) 恼人的Blob/Binary/text字段问题(*) 特殊字符的转义问题(*) 没有"断点恢复":执行出错后,没有足够的报错,也很难从失败的地方继续恢复
1. 如何操作
本文不打算写一个step by step的文档,只介绍主要的思路和粗略的操作步骤。
1.1 将binlog作为relay log来执行
优点:实施简单;缺点:需要关闭一次数据库(不确定不关闭数据库行不行);
思路:直接将要恢复的binlog拷贝到relay log目录,并修改slave-info相关的文件,让MySQL把binlog当做relay log来执行
简单的操作步骤:
* 关闭当前实例* 将binlog拷贝到对应的relay log目录(datadir或者relay-log参数指定的目录)* 打开relay-log-info-file参数指定的relay-log.info文件(默认是datadir目录下的relay-log.info文件),修改文件前面两行。这两行的意义分别是:当前执行的relay log文件;当前执行到relay log文件的位置(position)* 打开relay-log-index文件(由参数--relay-log-index,默认是数据目录下的host_name-relay-bin.index)将需要恢复的binlog文件全路径列表存在该文件中* 启动数据库,并start slave sql_thread
1.2 从专门构建的binlog server上拉binlog
这个方法,无需启动数据库,但是需要重新启动一个全新的实例,将binlog拷贝到该实例中,这里称这个实例为binlog server。然后把需要恢复的实例复制指向这个binlog server。这里需要做的是,将日志拷贝到binlog server对应目录下,并修改对应的master-info文件,使得备库能够dump到这些binlog文件。
2. 其他需要注意的事项
* 配置文件中建议加上skip-slave-start,以免在不需要时候slave线程自己开始执行了
* start slave的时候,可以通过start slave until的方式,控制slave执行到的位点
* slave执行的其实位点,则通过relay-log.info或者change master to来指定
- 使用MySQL自身复制来恢复binlog
- 使用 mysql binlog 恢复数据
- MySQL通过binlog来恢复数据
- mysql恢复数据库方法binlog日志来恢复数据库
- 使用MySQL binlog进行不完全恢复
- mysql binlog恢复数据库
- MYSQL数据BINLOG恢复
- mysql binlog恢复数据
- mysql 基于binlog恢复
- mysql binlog 复制
- 利用binlog来恢复数据库
- 使用binlog恢复数据
- mysql使用binlog恢复使用delete误删的数据
- mysql使用binlog恢复数据 与 union 与 索引优化
- Windows下,MySql使用binlog恢复表和数据初级教程
- Windows下,MySql使用binlog恢复表和数据初级教程
- 使用mysql-proxy和binlog来实现mysql读写分离
- MySQL--binlog日志恢复数据
- dom4j
- 验证码源码和java.lang.IllegalStateException解决办法
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- 51单片机真的过时了吗?单片机、ARM、DSP、FPGA/CPLD
- timestamp 字段的格式
- 使用MySQL自身复制来恢复binlog
- Activiti或者jbpm工作流的流程回退
- Linux命令之awk
- 03.15for IT 2014年3月15日,19:40:19
- 如何直接跳转至网站根目录
- H2数据库入门
- 10917 - Walk Through the Forest翻译
- JAVA bean与XML互转的利器---XStream
- c tool系列------用poll函数查询IMEI