600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 拿到串口的数据如何解析_详解如何用binlog2sql解析工具来实现mysql数据表异地恢复...

拿到串口的数据如何解析_详解如何用binlog2sql解析工具来实现mysql数据表异地恢复...

时间:2019-08-29 14:41:58

相关推荐

拿到串口的数据如何解析_详解如何用binlog2sql解析工具来实现mysql数据表异地恢复...

概述

binlog2sql是一个开源的Python开发的MySQL Binlog解析工具,能够将Binlog解析为原始的SQL,也支持将Binlog解析为回滚的SQL,以便做数据恢复。

gihub:/danfengcao/binlog2sql

今天主要分享一下最近做的生产环境表在异地恢复的过程。

生产环境数据异地恢复实验

场景:某个数据库库没做备份,开发发现有一张表数据有点问题,想要将表恢复到早上6点时的数据

思路:

1)将生产环境数据库迁移到测试环境,同时复制mysql-binlog.index和所有的binlog到测试环境数据库,注意测试环境数据库配置要指定生产环境复制过来的binlog位置

2)在测试环境安装binlog2sql工具

3)通过binlog2sql转换故障时间段的binlog生成回退sql,在测试环境回退数据

环境:centos7.3、python2.7.9

1、生产环境数据迁移

1.1、数据迁移

--生产环境mysqldump -uroot -p pas_prod>/opt/pas_prod.sql--测试环境mysql -uroot -p pas_prod

1.2、测试环境配置

#二进制配置max_binlog_size = 1Gbinlog_format = rowbinlog_row_image = fullserver-id = 1log-bin = /data/log/mysql-bin.loglog-bin-index =/data/log/binlog.indexlog_bin_trust_function_creators=1expire_logs_days=7

1.3、复制binlog

复制生产环境binlog,测试环境配置指定到binlog位置

2、测试环境(外网环境)安装binlog2sql

git clone /danfengcao/binlog2sql.git && cd binlog2sqlpip install -r requirements.txt

3、在测试环境授权

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO binlog2sql@'%' identified by 'binlog2sql';GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO binlog2sql@'localhost' identified by 'binlog2sql';

4、解析binlogsql

python /root/binlog2sql/binlog2sql/binlog2sql.py -h172.16.10.123 -ubinlog2sql -p binlog2sql -dpas_prod -t t_att_overtime_application--start-file='mysql-bin.000007' --start-datetime='-12-04 05:00:00' >/tmp/binlog.sql

在这里确定要回退的binlog和对应的时间范围

5、生成回滚sql

python /root/binlog2sql/binlog2sql/binlog2sql.py --flashback -h172.16.10.123 -ubinlog2sql -p binlog2sql -dpas_prod -t t_att_overtime_application --start-file='mysql-bin.000007' --start-datetime='-12-04 05:00:00' >/tmp/rollback.sql

确认后在测试环境执行即可。

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。