????3??????位?????????????????????sql??????????????位????257427-504272???(binlog2sql?????????????????????start position)???????位?霉??????? -B ?????????sql???????sql????????(???????????锟�????????SQL?????????????????????grep????????)
shell> python binlog2sql/binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -tuser --start-file='mysql-bin.000054' --start-position=257427 --stop-position=504272 -B > /tmp/rollback.sql
rollback.sql ?????
INSERT INTO `test`.`user`(`addtime`?? `id`?? `name`) VALUES ('2016-12-14 23:09:07'?? 24530?? 'tt'); #start 257427 end 504272 time 2016-12-26 11:44:56
INSERT INTO `test`.`user`(`addtime`?? `id`?? `name`) VALUES ('2016-12-12 00:00:00'?? 24529?? '小??'); #start 257427 end 504272 time 2016-12-26 11:44:56
...
INSERT INTO `test`.`user`(`addtime`?? `id`?? `name`) VALUES ('2014-11-11 00:04:48'?? 2?? '小?'); #start 257427 end 265754 time 2016-12-26 11:44:56
shell> wc -l /tmp/rollback.sql
16128 /tmp/rollback.sql
????4????????????sql???????谢????????mysql????????????
????shell> mysql -h127.0.0.1 -P3306 -uadmin -p'admin' < /tmp/rollback.sql
????mysql> select count(*) from user;
????+----------+
????| count(*) |
????+----------+
????|    16389 |
????+----------+
????TIPS
????· ????????????????????????????SQL??
????· ????????????????喂?????????位??????????????
????· ????????????写?????????sql?胁?????????????????????????????????????????????????????????????卸??
????· ??谢??sql????斜????????????????????????????????????????浠�?????????????????????屑?(????????)?????????????????????????????????2??貌??????????
????· ????????????????????泄????????????????????????????????????????????
????· ?????????浠�??????????????????????????(??????)??
???????????????????????????SQL??????????
???????????
????MySQL??????????????????????????????2012?????????????patch??????????????路???????(????路???????????????????)????????????????????????patch?????????????????????????????????????????????????卸?位????????mysql?姹�?????????????????????????????????路??
?????????些??????????????????????
????· ?????????patch???????????????mysqlbinlog?小?????????patch??????
???????
?????????????mysqlbinlog??械??????????????????????????????睢�????????未???锌????????????
????????????????
???????
??????????睢�????????????????binlog????????????????????????????????????????????????????谩??????卸?位?????????mysql5.5??5.6??5.7??????patch???????????????????????????????????
????????????1??????效???????????校???????????????patch?????????????????????????????????????????????????????????????DBA???????mysql??????????????
????????????榉�???????mysql??????????????伞?
??????些????????????????????锌????????
????· ??????????????????伪???slave???binlog?????写??????binlog2sql??????
???????
??????????谩?伪???slave??binlog????????????????????????????????????????????????MySQL?姹�???????????些?????????????????????????????
????????1???????小??????????????DBA??????????????????????
???????????眉???
???????
??????????MySQL server??
????· ??????????????????mysqlbinlog??????????????binlog?????????????????????????婊�??
???????
???????写????????????????????????????
???????????眉???
????????????????
???????
???????????谩?
???????????谩?
???????????????????????????????????????????binlog2sql????????????mysqlbinlog??
????????DDL??flashback
??????????????flashback?????DML???????????????????????DDL??????????????binlog???????????????????row???锟�?binlog????DDL???????????????????浠�??????DDL???????????????MySQL???????????DDL????????????????卸??mysql????姹�?????DDL??????????????????????????patch??MySQL?????MariaDB???????煤???????DDL??flashback?????DDL????????????????????娲�?????????????????????????????????