这是学习笔记的第 1895 篇文章 今天看了下binlog2sql的代码,总体来说是代码质量是很高的。 通过阅读好的开源项目,也能够让自己多沉淀些学习经验。...binlog2sql的工程主要包含两个Python文件,一个是binlog2sql.py,这个文件是对外统一使用的脚本入口,另外一个是工具类binlog2sql_util.py ?...这部分逻辑是相对通用的,而不是只局限于使用binlog2sql 通读源代码后,发现有一个潜在的瓶颈点就是在处理binlog的时候,使用了开源项目python-my-replication来模拟从库 ?...所以明确了binlog2sql的代码逻辑后,我们需要做的一些改进就可以主要在BinLogStreamReader的方案思路上进行改进。 ?
对于误操作数据的闪回,我们一般推荐 binlog2sql 或者MyFlash(美团点评开源的) 本篇文章, 我们介绍下 binlog2sql的用法: binlog2sql 【首级推荐使用】 官网:https...://github.com/danfengcao/binlog2sql 注意: binlog必须是row格式,并且是FULL类型的记录。...centos6需要升级下这个包,不然没法去github拉代码 cd /root/ git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql.../binlog2sql/binlog2sql.py -h192.168.11.20 -P3306 -uflashback -p'admin' -d testdb -t t_stud --start-file.../binlog2sql/binlog2sql.py --flashback -h192.168.11.20 -P3306 -uflashback -p'admin' -d testdb -t t_stud
这些都是题外话了.图片binlog2sql使用和打包binlog2sql是基于pymysqlrepliction的, 支持正向解析SQL和反向解析为SQLgithub地址 https://github.com.../danfengcao/binlog2sql源码使用直接使用wget https://github.com/danfengcao/binlog2sql/archive/refs/heads/master.zipunzip...你运行binlog2sql会得到如下的报错Traceback (most recent call last): File "binlog2sql.py", line 149, in ...对象, 所以没得execute方法解决办法如下:修改binlog2sql.py如下内容(47行处)图片修改binlog2sql.py如下内容(73行处)图片然后再次使用就正常了(打包方法同上)图片总结binlog2sql
---- binlog2sql:https://github.com/danfengcao/binlog2sql binlog2sql是大众点评开源的一款用于解析binlog的工具 依赖包 PyMySQL...(注:为了方便解释,我们用binlog2sql将原始binlog转化成了可读SQL) 原始:DELETE FROM `test`....我们使用开源工具binlog2sql来进行实战演练。binlog2sql由美团点评DBA团队(上海)出品,多次在线上环境做快速回滚。...首先我们安装binlog2sql: shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql shell...以binlog2sql为代表。 优点 兼容性好。
binlog2sql 默认的requirements中的依赖包版本比较低,不适合mysql8, 需要用如下的几个包: $ cat .....= c if part: yield part[::-1] 其它可以做的改动(非必须) vim binlog2sql.py 修改下里面的取server_id的逻辑,以便支持多个binlog2sql
binlog2sql 从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。...Python 2.6, 2.7, 3.4 MySQL 5.6 安装 shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql...shell> python binlog2sql/binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -ttbl --start-file...结合grep、编辑器等) shell> python binlog2sql/binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -ttbl...参考:https://github.com/danfengcao/binlog2sql ---- -END-
一、binlog2sql介绍 binlog2sql是国内MySQL大佬danfengcao使用python开发,许多MySQL爱好者参与改进的一款MySQL binlog解析软件。...github地址为:https://github.com/danfengcao/binlog2sql 该工具主要用于: 数据快速回滚(闪回); 从binlog生成标准SQL; 适用MySQL版本:MySQL5.6...、MySQL5.7 二、安装binlog2sql # 安装git shell> yum install -y git # 安装pip工具 shell> yum install -y epel-release...&& cd binlog2sql shell> pip install -r requirements.txt 三、使用前提 基于最小侵入原则,我们一般在管理节点执行操作,只需把binlog2sql...市面上也有一些其他开源工具,原理都差不多,但使用效率上binlog2sql更胜一筹,通过binlog2sql可以很容易搞定: python binlog2sql.py -h ip
这里我们介绍 binlog2sql 工具,你不用那么麻烦的去实现此功能。...binlog2sql 工具 binlog2sql 是大众点评开源的一款用于解析 binlog 的工具,详见:https://github.com/danfengcao/binlog2sql 使用 binlog2sql...使用 binlog2sql 将二进制文件解析为了 SQL 格式,这个文件当中包括我们之前做的建表 SQL 以及插入示例数据的 SQL,当然也包括我们误操作的 UPDATE 语句。...使用 binlog2sql 生成回滚 SQL python binlog2sql.py --flashback -h10.89.1.143 -P3306 -udev -p'123456' -dtest...可以看到 binlog2sql 生成了:#start 2616 end 3028 位置的回滚 SQL。我们把这个 SQL 复制下来到 MySQL 中执行,即可实现数据恢复。 ? -END-
关于数据恢复之前已分享过2篇,链接如下: MySQL数据备份及还原(一) MySQL数据备份及还原(二) 今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog...SQL,带来的衍生功能 1 系统环境准备 1.1 安装git 该项目分享与git上,可以直接从git上获取,因此可以先安装git yum install -y pip 1.2 安装python 因binlog2sql...安装方法可以参考历史文章中的 《一分钟搞定pip安装》 1.4 binlog2sql下载及依赖包安装 binlog2sql可以部署在其他机器上,而不是必须部署在mysql服务端上 git clone https...://github.com/danfengcao/binlog2sql.git && cd binlog2sql pip install -r requirements.txt ?...4 使用说明 参考原文链接:https://github.com/danfengcao/binlog2sql 4.1 解析模式 --stop-never 持续解析binlog。可选。
在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL 二、binlog2sql安装 从mysql binlog解析出你要的sql...SQL,带来的衍生功能 2.2、安装 # cd /usr/local # git clone https://github.com/danfengcao/binlog2sql.git # ls binlog2sql...games java lib64 mariadb sbin src # cd binlog2sql # pip install -r requirements.txt -bash.../binlog2sql/binlog2sql.py --flashback -h127.0.0.1 -P3306 -uflashback -pflashback -dttt -tusers --start-file...此时虽然在binlog中记录了所有的event,但是使用binlog2sql生成标准sql、回滚sql的时候已经找不到了dml操作的相应的表 4.4、DDL无法使用binlog2sql闪回数据。
]# git clone https://github.com/danfengcao/binlog2sql.git Initialized empty Git repository in /root/binlog2sql...[root@wallet01 ~]# cd binlog2sql [root@wallet01 binlog2sql]# pip install -r requirements.txt [root@wallet01... binlog2sql]# cd binlog2sql/ [root@wallet01 binlog2sql]# python binlog2sql.py --help usage: binlog2sql.py...----------+ | 2019-01-04 17:14:09 | +---------------------+ 1 row in set (0.00 sec) [root@wallet01 binlog2sql... 'JV', '815964094', 0.15, 3680226.00); #start 430 end 712 time 2019-01-04 17:04:25 [root@wallet01 binlog2sql
结论: binlog2sql对 int类型、char/varchar类型、text 类型 支持完善。 binlog2sql对bit类型支持不太好,后期需要修数据。...binlog2sql对json类型支持的不完善,导出的数据基本上无法使用。...样例: binlog2sql对 int类型、char/varchar类型、text 类型 支持完善,如下案例: CREATE TABLE `sbt_t1` ( `id` int NOT...-----+-----+ 2 rows in set (0.00 sec) [root@mxali0027 mysqlBak]# python3.6 binlog2sql-master/binlog2sql...binlog2sql对bit类型支持不太好: sbtest> CREATE TABLE `bit_t1` ( `id` int NOT NULL AUTO_INCREMENT,
---前言大家在平时运维过程中应该都了解过或者使用过一些 binlog 解析工具,比如今天要介绍的 my2sql 和 binlog2sql 。...my2sql 是基于 my2fback 、binlog_rollback 工具二次开发而来的(go语言),binlog2sql 是 python 语言开发的 mysql binlog 解析工具,两者都可以通过解析...请跟随小编往下看“my2sql与binlog2sql之间的battle”吧。.../bin/bashdate;python /data/binlog2sql/binlog2sql/binlog2sql.py -h10.186.61.119 -P3309 -uroot -p'root'...\--start-file='mysql-bin.000013' > /tmp/binlog13.sql;python /data/binlog2sql/binlog2sql/binlog2sql.py
---- 前言 大家在平时运维过程中应该都了解过或者使用过一些 binlog 解析工具,比如今天要介绍的 my2sql 和 binlog2sql 。...请跟随小编往下看“my2sql 与 binlog2sql 之间的 battle ”吧。.../bin/bash date; python /data/binlog2sql/binlog2sql/binlog2sql.py -h10.186.61.119 -P3309 -uroot -p'root...' \ --start-file='mysql-bin.000013' > /tmp/binlog13.sql; python /data/binlog2sql/binlog2sql/binlog2sql.py...【不支持并发】 2G 1 54min my2sql 与 binlog2sql 其他功能对比 功能特性 my2sq binlog2sql 备注 解析 binlog 可生成标准 sql ,回滚 sql ,
所以有这种根据binlog得到执行sql语句、闪回sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到闪回sql,检查无误后执行就可以恢复数据了 准备工作 我们采用binlog2sql...工具来分析,由上海美团DBA团队出品 使用的是python语言,所以我们需要提前安装好python语言 我使用的是宝塔面板,宝塔面板已经内置安装了python,所以直接开始安装更三十就好了 安装binlog2sql...工具 cd /www/server git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql pip install...------------+------------------+-------------------+ 1 row in set (0.00 sec) 我们记住mysql-bin.000006 打开binlog2sql...工具分析 进入我们安装后的binlog2sql工具目录 cd /www/server/binlog2sql/binlog2sql ll 可以看到这里面有py脚本 得到历史sql语句 python binlog2sql.py
2.2 利用开源工具binlog2sql 恢复 binlog2sql 是大众点评公司的DBA 开发的一款基于通过解析binlog将delete 恢复为insert,update 的值 set 字段和where...使用限制 MySQL的binlog format 必须是row 安装 git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql...(88) 误操作 update flashback set stat=15 恢复数据的步骤 1 获取误操作的dml所在的binlog,不过一般开发可不知道具体binlog,他们只知道什么时间误操作了,binlog2sql...| 8209 | +------------------+-----------+ 3 rows in set (0.00 sec) 本例子中binlog为mysql-bin.000011 2 利用binlog2sql...9 | | 6 | 22 | | 7 | 42 | | 8 | 33 | | 9 | 66 | | 10 | 88 | +----+------+ 10 rows in set (0.00 sec) binlog2sql
1.先聊聊Binlog + 再说binlog2sql闪回工具之前,我们先聊下binlog。Binlog记录了MySQL数据库所有的DDL和DML操作。它在MySQL数据库里起着至关重要的作用。...数据可以通过binlog进行基于时间点和位置的恢复操作,binlog2sql工具也是依赖于binlog来实现的。 3. 审计工作。...2.MySQL闪回工具--binlog2sql介绍 + binlog2sql是大众点评开源的一款用于解析binlog的工具,可以从MySQL binlog解析出你要的SQL,根据不同选项可以得到原始SQL...Binlog2sql工具的下载地址:https://github.com/danfengcao/binlog2sql。...执行语句回滚 [root@node1 binlog2sql]# mysql -uroot -p test <rollback.sql 5.
service mysql restart #重启一下 2.安装binlog2sql的python代码 https://github.com/danfengcao/binlog2sql apt-get...install python-pip git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql cd binlog2sql...show binlog events in 'mysql-bin.000352' 5.用binlog2sql打印出sql语句和逆向回滚的sql语句,保存并导入 python binlog2sql.py
今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等...SQL,带来的衍生功能 1 系统环境准备 1.1 安装git 该项目分享与git上,可以直接从git上获取,因此可以先安装git yum install -y pip 1.2 安装python 因binlog2sql...安装方法可以参考历史文章中的 《一分钟搞定pip安装》 1.4 binlog2sql下载及依赖包安装 binlog2sql可以部署在其他机器上,而不是必须部署在mysql服务端上 git clone https...://github.com/danfengcao/binlog2sql.git && cd binlog2sql pip install -r requirements.txt 2 MySQL环境准备...4 使用说明 参考原文链接:https://github.com/danfengcao/binlog2sql 4.1 解析模式 --stop-never 持续解析binlog。可选。
区间 3.3 position点确认 4、操作恢复 4.1 正向恢复 4.1.1 恢复备份数据 4.1.2 恢复binlog日志 4.1.3 检查数据恢复状态 4.2 反向恢复 4.2.1 安装binlog2sql...,将错误执行的update语句反转,再update回来 4.2.1 安装binlog2sql 项目地址: https://github.com/danfengcao/binlog2sql # 安装epel...[root@localhost ~]# git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql Cloning...[root@localhost binlog2sql]# pip install -r requirements.txt 4.2.2 生成反转sql 根据错误语句的position区间918611748...[root@localhost mysql]# python /root/binlog2sql/binlog2sql/binlog2sql.py -h 127.0.0.1 -u root -p -d
领取专属 10元无门槛券
手把手带您无忧上云