资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

binlog2sql数据恢复利器!-创新互联

binlog2sql数据恢复利器!特别适合没有备份,只有binlog的情况下进行数据恢复操作,能生成标准解析SQL,亦可生产对应的逆向回滚SQL,而且比之传统的mysqlbinlog更具可读性,本文侧重点针对Python2.6.6、2.7.6两种环境进行数据恢复,侧重使用流程、使用注意点记录说明,以便日后使用查阅

成都创新互联公司主要从事成都网站制作、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务拉孜,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

已验证环境如下

Python version

2.6.6、2.7.6

MySQL version

5.6.16-log

使用前MySQL Server必须设置的参数

[mysqld]

server_id = 2 【不一定是2,但必须设置】

log_bin = /home/data/mysql3306/mysql-bin

max_binlog_size = 1G【可不写,默认1G】

binlog_format = row

binlog_row_image = full【可不写,默认full格式】

使用限制说明

MySQL Server必须开启,离线模式下不能解析

解析速度不如mysqlbinlog

支持DML回滚,不支持DDL回滚

回滚所需最小权限用户

mysql> grant select,replication slave,replication client on *.* to flashbackuser@'127.0.0.1' identified by 'flashback@123';

Python 2.6.6环境配置

[root@backup ~]# cd /usr/local/
[root@backup local]#tar xf binlog2sql.tar.gz
[root@backup local]# cd binlog2sql/binlog2sql_dependencies/
[root@backup binlog2sql_dependencies]# tar xf setuptools-0.6c11.tar.gz
[root@backup binlog2sql_dependencies]# cd setuptools-0.6c11
[root@backup setuptools-0.6c11]# python setup.py install
[root@backup setuptools-0.6c11]# cd ..
[root@backup binlog2sql_dependencies]# tar xf pip-9.0.1.tar.gz
[root@backup binlog2sql_dependencies]# cd pip-9.0.1
[root@backup pip-9.0.1]# python setup.py install
[root@backup pip-9.0.1]# cd ..
[root@backup binlog2sql_dependencies]# pip install *.whl mysql-replication-0.9.tar.gz
[root@backup binlog2sql_dependencies]# pip list
 
基本用法:
[root@backup ~]# cd /home/data/mysql3306/
必须在数据目录下
[root@backup mysql3306]# python /usr/local/binlog2sql/binlog2sql/binlog2sql.py --help  
用法说明
 
解析出标准SQL
[root@backup mysql3306]# python /usr/local/binlog2sql/binlog2sql/binlog2sql.py -uflashbackuser -pflashback@123 -h227.0.0.1 -dbailidb -tbl_admin --start-file='mysql-bin.000003' > bl_admin.sql
 
解析出回滚SQL
[root@backup mysql3306]# python /usr/local/binlog2sql/binlog2sql/binlog2sql.py --flashback -uflashbackuser -pflashback@123 -h227.0.0.1 -dbailidb -tbl_admin --start-file='mysql-bin.000003' > fb_bl_admin.sql
 
支持解析标准DDL
[root@backup mysql3306]# python /usr/local/binlog2sql/binlog2sql/binlog2sql.py -uflashbackuser -pflashback@123 -h227.0.0.1 -dbailidb -tbl_admin --start-file='mysql-bin.000003' > bl_admin_ddl.sql
 
不支持回滚DDL
[root@backup mysql3306]# python /usr/local/binlog2sql/binlog2sql/binlog2sql.py --flashback -uflashbackuser -pflashback@123 -h227.0.0.1 -dbailidb -tbl_admin --start-file='mysql-bin.000003' > fb_bl_admin_ddl.sql

Python2.7.6环境配置

[root@backup ~]# cd /usr/local/
[root@backup local]# tar xf Python-2.7.6.tar
[root@backup local]# cd Python-2.7.6/
[root@backup Python-2.7.6]# ./configure --prefix=/usr/local/python2
[root@backup Python-2.7.6]# echo $?
[root@backup Python-2.7.6]# make && make install
[root@backup Python-2.7.6]# cd /usr/local/binlog2sql/binlog2sql_dependencies/
[root@backup binlog2sql_dependencies]# cd setuptools-0.6c11
[root@backup setuptools-0.6c11]# /usr/local/python2/bin/python2 setup.py install
[root@backup setuptools-0.6c11]# cd ../
[root@backup binlog2sql_dependencies]# cd pip-9.0.1
[root@backup pip-9.0.1]# /usr/local/python2/bin/python2 setup.py install
[root@backup pip-9.0.1]# /usr/local/python2/bin/pip --version
[root@backup pip-9.0.1]# cd ../
[root@backup binlog2sql_dependencies]# /usr/local/python2/bin/pip install *.whl mysql-replication-0.9.tar.gz
[root@backup binlog2sql_dependencies]# /usr/local/python2/bin/pip list
[root@backup mysql3306]# vim /root/.bashrc
alias python2='/usr/local/python2/bin/python2'
[root@backup mysql3306]# source /root/.bashrc
 
基本用法:
解析出标准SQL:
[root@backup mysql3306]#python2 /usr/local/binlog2sql/binlog2sql/binlog2sql.py -uflashbackuser -pflashback@123 -h227.0.0.1 -dbailidb -tbl_admin --start-file='mysql-bin.000003' > bl_admin.sql
 
解析出回滚SQL:
[root@backup mysql3306]# python2 /usr/local/binlog2sql/binlog2sql/binlog2sql.py --flashback -uflashbackuser -pflashback@123 -h227.0.0.1 -dbailidb -tbl_admin --start-file='mysql-bin.000003' > fb_bl_admin.sql

参数说明

[root@backup ~]# python /usr/local/binlog2sql/binlog2sql/binlog2sql.py --help
usage: binlog2sql.py
 
mysql连接配置
-h host; -P port; -u user; -p password
 
解析模式
--stop-never 持续解析binlog。可选。默认False,同步至执行命令时最新的binlog位置。
-K, --no-primary-key 对INSERT语句去除主键。可选。默认False
-B, --flashback 生成回滚SQL,可解析大文件,不受内存限制。可选。默认False。与stop-never或no-primary-key不能同时添加。
--back-interval -B模式下,每打印一千行回滚SQL,加一句SLEEP多少秒,如不想加SLEEP,请设为0。可选。默认1.0。
 
解析范围控制
--start-file 起始解析文件,只需文件名,无需全路径 。必须。
--start-position/--start-pos 起始解析位置。可选。默认为start-file的起始位置。
--stop-file/--end-file 终止解析文件。可选。默认为start-file同一个文件。若解析模式为stop-never,此选项失效。
--stop-position/--end-pos 终止解析位置。可选。默认为stop-file的最末位置;若解析模式为stop-never,此选项失效。
--start-datetime 起始解析时间,格式'%Y-%m-%d %H:%M:%S'。可选。默认不过滤。
--stop-datetime 终止解析时间,格式'%Y-%m-%d %H:%M:%S'。可选。默认不过滤。
 
对象过滤
-d, --databases 只解析目标db的sql,多个库用空格隔开,如-d db1 db2。可选。默认为空。
-t, --tables 只解析目标table的sql,多张表用空格隔开,如-t tbl1 tbl2。可选。默认为空。
--only-dml 只解析dml,忽略ddl。可选。默认False。
--sql-type 只解析指定类型,支持INSERT, UPDATE, DELETE。多个类型用空格隔开,如--sql-type INSERT DELETE。可选。默认为增删改都解析。用了此参数但没填任何类型,则三者都不解析。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:binlog2sql数据恢复利器!-创新互联
当前网址:http://www.cdkjz.cn/article/jhced.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220