【Mysql】闪回–mysqlbinlog flashback 5.6版本


DBA或者开发人员,有时会误删除或者误更新数据。传统的数据库恢复方法是利用之前的备份再加上误操作之前的binlog,来恢复数据。该方法需要耗费较长时间来恢复备份,甚至需要停机维护,严重降低系统的可用性。

MySQL的flashback功能是由淘宝的彭立勋,在MySQL-5.5.18的基础上开发的。随着binlog格式的变动和类型的增加,基于5.5.18的版本,无法用于目前主流的5.6版本的。因此平民软件将该功能移植到5.6版本上,让相关人员对数据库有更强的掌控能力。

mysqlbinlog -v | grep

举例

mysqlbinlog -v –base64-output=decode-rows /var/lib/mysql/128.000110 | grep -B10 -A5 items

输出类似为

# at 1093

#160215 15:22:39 server id 10 end_log_pos 1240 CRC32 0x6146d30e Table_map: `zabbix`.`items` mapped to number 73

# at 1240

#160215 15:22:39 server id 10 end_log_pos 1824 CRC32 0xe2d557b8 Update_rows: table id 73 flags: STMT_END_F

‘/*!*/;

### UPDATE `zabbix`.`items`

### WHERE

### @1=24138

### @2=0

### @3=”

### @4=”

### @5=10106

假设找到相关位置,开始位置1017,结束位置2563

mysqlbinlog -v –base64-output=decode-rows –star开发云主机域名t-position=1017 –stop-position=2563 /var/lib/mysql/128.000110

2. 使用平民软件提供的flashback软件

mysqlbinlog -B -v –start-position=1017 –stop-position=2563 /var/lib/mysql/128.000110 | mysql -u -p

注意:恢复之前先在不使用的从机上做测试测试成功后,再在主库上做。

该软件利用binlog中记录了操作前的数据镜像和操作后的数据镜像。有如下限制

1) binlog_format=row

2) 只支持insert、update、delete

3) 不支持drop 、truncate、alter等ddl语句

flashback功能,可以在紧急情况下,避免用户漫长的数据库恢复过程。让高可用提升一个级别。
下载地址:http://pan.baidu.com/s/1hrEG9BA

原文地址:http://www.cnblogs.com/youge-OneSQL/p/5249736.html

相关推荐: JDBC对Mysql utf8mb4字符集的处理

在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围在存储数据时, 出现部分特殊字符存储字符串失败. 查阅MySQL官方文档时,给出如下支持utf8转utf8m…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/05 12:05
下一篇 06/05 12:05

相关推荐