binlog2sql工具的使用

Linux: CentOS6

mysql version: mysql5.6.35

参考:网址:

https://www.cnblogs.com/ivictor/p/6418409.html

场景:数据库被业务进行sql注入,修改了表中某一列数据。

但是没找到合适的数据库备份集,于是想到了解析binlog日志然后进行sql解析的方法来进行恢复本张表。

1.安装binlog2sql

安装过程有些麻烦,下面是具体的安装步骤:

yum install python-setuptools -y

yum -y install git

git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql

pip包需要使用tar.gz包进行安装,手工下载

# tar zxvf pip-10.0.1.tar.gz 

# cd pip-10.0.1

# python setup.py install

yum -y install pymysql

cd /home/mysql/binlog2sql

pip install -r requirements.txt

 pip install PyMySQL


2. 把binlog日志解析为sql语句,如下:

-pxxxxpython binlog2sql/binlog2sql/binlog2sql.py -h127.0.0.01 -P4000 -uroot -pxxxx  -d xxxx-t xxx --start-file='mysql-bin.000018' > userdb18.sql

python binlog2sql/binlog2sql/binlog2sql.py -h127.0.0.01 -P4000 -uroot -pxxxx  -d xxxx-t xxxx --start-file='mysql-bin.000019' --stop-position= > userdb19.sql


3.逆向解析sql语句,即当时,delete的变成insert, 之前insert的变成delete

python binlog2sql/binlog2sql/binlog2sql.py --flashback -h127.0.0.01 -P4000 -uroot -pxxxx -d xxxx -t xxxx --start-file='mysql-bin.000019' --start-position=384693693 --stop-position=529503333> userdb.sql

参数说明:

参数和mysqlbinlog的非常擂同,到时搜一下就好了。


4.新建一个实例,把数据导入后,重新进行恢复,然后让业务人员把新的数据和老数据对比一下,即可以查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值