root@wallet01 ~ #猫/etc/redhat-release
Linux CentOS释放7.5.1804(核心)
root@wallet01 ~ # python - v
Python 2.7.5
(root@wallet01 ~) # yum安装- y python-pip
root@wallet01 ~ # pip - v
皮普从/usr/lib/python2.7/site-packages 8.1.2 (python 2.7)
(root@wallet01 ~) # git克隆https://github.com/danfengcao/binlog2sql.git
初始化空/root/binlog2sql/.git/Git存储库
远程:列举对象:323年完成。
远程:323(δ0),再利用0(δ0),pack-reused 323
接收对象:100%(323/323),151.51简约| 245简约/s,完成。
解决增量:100%(170/170),完成。
# cd binlog2sql root@wallet01 ~
[root@wallet01 binlog2sql] # pip安装- r让
[root@wallet01 binlog2sql] # cd binlog2sql/python binlog2sql [root@wallet01 binlog2sql) #。py——帮助
用法:binlog2sql。py [- h主机][- u用户][p[密码(密码…]]]
[- p港口][——启动文件START_FILE]
(——起始位置START_POS][——停止文件END_FILE]
(——停止位置END_POS] [——start-datetime START_TIME]
(——stop-datetime STOP_TIME] [——stop-never] [——help]
[- d[数据库(数据库…]]]
(- t(表(表……]]][——only-dml]
[- sql类型[SQL_TYPE [SQL_TYPE……]]][-][b]
(——back-interval BACK_INTERVAL]
——启动文件起始解析文件
——停止文件终止解析文件
——起始位置起始解析位置
——停止位置——终止解析位置
——start-datetime起始解析时间,格式的Y % - % - % d % H: % m: % S”。
——stop-datetime终止解析时间,格式的Y % - % - % d % H: % m: % S”。
- d——仅解析目标数据库的sql
- t——仅解析目标表的sql
——only-dml仅解析dml,忽略ddl。
——sql类型仅解析指定类型,支持插入、更新、删除。
SQL - b——生成回滚
root@wallet01 ~ # mysql -uroot - p
输入密码:
mysql>格兰特选择、复制客户端,复制*的奴隶。*“facebook”@“%”被“fb@2019”;
查询好,0行影响(0.05秒)
mysql>冲洗特权;
查询好,0行影响(0.11秒)
mysql>显示主状态;
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
| |文件位置| Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
| mysql-bin。000008 | 120 | | | |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
1行集(0.00秒)
mysql>现在选择();
+ - - - - - - - - - - - - - - - - - - - - - - - - +
| |现在()
+ - - - - - - - - - - - - - - - - - - - - - - - - +
| 2019-10-12 17:18:22 |
+ - - - - - - - - - - - - - - - - - - - - - - - - +
1行集(0.06秒)
mysql>使用gsoa
mysql>从bd_city select count (*);
+ - - - - - - - - - - - +
| | count (*)
+ - - - - - - - - - - - +
| 372 |
+ - - - - - - - - - - - +
1行集(0.00秒)
mysql>开始;
查询好,0行影响(0.00秒)
mysql>从bd_city删除;
查询好了,372行影响(0.09秒)
mysql>提交;
查询好,0行影响(0.04秒)
mysql>从bd_city select count (*);
+ - - - - - - - - - - - +
| | count (*)
+ - - - - - - - - - - - +
| 0 |
+ - - - - - - - - - - - +
1行集(0.01秒)
mysql>现在选择();
+ - - - - - - - - - - - - - - - - - - - - - - - - +
| |现在()
+ - - - - - - - - - - - - - - - - - - - - - - - - +
| 2019-10-12 17:22:26 |
+ - - - - - - - - - - - - - - - - - - - - - - - - +
1行集(0.00秒)
恢复已提交事务中删除的记录
python binlog2sql [root@wallet01 binlog2sql) #。py -hlocalhost -P3306 -ufb - p 'fb@2019”-dgsoa -tbd_city \
——启动文件=' mysql-bin。000008年——only-dml sql类型=删除\
——start-datetime=' 2019-10-12 17:18:22 stop-datetime=2019-10-12 17:22:26的祝辞fb.log
[root@wallet01 binlog2sql] # fb.log
从“gsoa”删除。“bd_city”,“状态”=?”和“parent_name”=爸泄焙汀按搿??10000”和“名字”=氨本┦小焙汀皃arent_code”=癈N”限制1;
# 2019-10-12 17:21:26开始423年结束8756年时间
[root@wallet01 binlog2sql] #尾- n 1 fb.log
从“gsoa”删除。“bd_city”,“状态”=?”和“parent_name”=焙汀按搿?癈N”和“名字”=爸泄焙汀皃arent_code”=跋拗?;
# 2019-10-12 17:21:26开始423年结束19319年时间
python binlog2sql [root@wallet01 binlog2sql) #。py -hlocalhost -P3306 -ufb - p 'fb@2019”-dgsoa -tbd_city \
——启动文件=' mysql-bin。000008年,起始位置=423,停止位置=19319 - b比;rollback.sql
[root@wallet01 binlog2sql] #更多的回滚。sql | grep的北京”
插入“gsoa”。“bd_city”(“状态”,“parent_name”,“代码”,“名字”,“parent_code”)值(' 1 ','中国”,“110000”,“北京市”、“CN”);
# 2019-10-12 17:21:26开始423年结束8756年时间
[root@wallet01 binlog2sql] # mysql -uroot - p & lt;rollback.sql
输入密码:
root@wallet01 ~ # mysql -uroot - p
输入密码:
mysql>使用gsoa
mysql>从bd_city select count (*);
+ - - - - - - - - - - - +
| | count (*)
+ - - - - - - - - - - - +
| 372 |
+ - - - - - - - - - - - +
1行集(0.00秒)