MySQL使用binlog2sql闪回误删除数据
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,查询数据库相关配置参数root [test]> show global variables like 'binlog%format%';+---------------+-------+| Varia
千家信息网最后更新 2026年10月31日MySQL使用binlog2sql闪回误删除数据
查询数据库相关配置参数
root [test]> show global variables like 'binlog%format%';+---------------+-------+| Variable_name | Value |+---------------+-------+| binlog_format | ROW |+---------------+-------+1 row in set (0.00 sec)root [test]> show global variables like 'binlog%row%image%';+------------------+-------+| Variable_name | Value |+------------------+-------+| binlog_row_image | FULL |+------------------+-------+1 row in set (0.00 sec)root [test]> show global variables like '%log%bin%';+----------------------------------+-----------------------------------------------+| Variable_name | Value |+----------------------------------+-----------------------------------------------+| log_bin | ON || log_bin_basename | /data1/mysql_log_23306/binlog/mysql-bin || log_bin_index | /data1/mysql_log_23306/binlog/mysql-bin.index || log_bin_trust_function_creators | ON || log_bin_use_v1_row_events | OFF || log_statements_unsafe_for_binlog | ON |+----------------------------------+-----------------------------------------------+6 rows in set (0.01 sec)
安装binlog2sql
正克隆到 'binlog2sql'...remote: Counting objects: 298, done.remote: Compressing objects: 100% (4/4), done.remote: Total 298 (delta 0), reused 1 (delta 0), pack-reused 294接收对象中: 100% (298/298), 147.01 KiB | 49.00 KiB/s, done.处理 delta 中: 100% (151/151), done.[root@mysql-server binlog2sql]# source ../venv4archer/bin/activate(venv4archer) [root@mysql-server binlog2sql]# pip install -r requirements.txtRequirement already satisfied: PyMySQL==0.7.11 in /data1/venv4archer/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (0.7.11)Collecting wheel==0.29.0 (from -r requirements.txt (line 2)) Cache entry deserialization failed, entry ignored Downloading https://files.pythonhosted.org/packages/8a/e9/8468cd68b582b06ef554be0b96b59f59779627131aad48f8a5bce4b13450/wheel-0.29.0-py2.py3-none-any.whl (66kB) 100% |████████████████████████████████| 71kB 103kB/s Collecting mysql-replication==0.13 (from -r requirements.txt (line 3)) Downloading https://files.pythonhosted.org/packages/dd/23/384047702e694139e9fe75a8ba7ad007e8942fd119ebadabc32ce19f70f2/mysql-replication-0.13.tar.gzBuilding wheels for collected packages: mysql-replication Running setup.py bdist_wheel for mysql-replication ... done Stored in directory: /root/.cache/pip/wheels/91/33/05/32b16ccadd4fc566ff38af96afdeb5d57d49c2f1eff0402164Successfully built mysql-replicationInstalling collected packages: wheel, mysql-replication Found existing installation: wheel 0.31.1 Uninstalling wheel-0.31.1: Successfully uninstalled wheel-0.31.1Successfully installed mysql-replication-0.13 wheel-0.29.0
创建测试数据,并执行误删除
root [(none)]> flush logs;Query OK, 0 rows affected (0.00 sec)root [(none)]> use testDatabase changedroot [test]> create table user(id int(12) unsigned auto_increment comment 'id' primary key, name varchar(15), add_time timestamp);Query OK, 0 rows affected (0.01 sec)root [test]> insert into user(name, add_time) values('neo', '2018-09-01'), ('trinity', '2018-09-02'), ('jason', '2018-09-05');Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0root [test]> delete from user where add_time < '2018-09-05';Query OK, 2 rows affected (0.01 sec)查看二进制日志文件
root [test]> show binary logs;+------------------+-----------+| Log_name | File_size |+------------------+-----------+| mysql-bin.000002 | 2236 || mysql-bin.000003 | 201 || mysql-bin.000004 | 1218 |+------------------+-----------+3 rows in set (0.00 sec)
解析出标准SQL
(venv4archer) [root@mysql-server binlog2sql]# python binlog2sql/binlog2sql.py -uroot -p'root' -h 127.0.0.1 -P 23306 -dtest -tuser --start-file='mysql-bin.000004' --start-datetime='2018-09-14 17:00:00' --stop-datetime='2018-09-14 18:25:00' > /tmp/20180914_raw.sql(venv4archer) [root@mysql-server binlog2sql]# cat /tmp/20180914_raw.sqlUSE b'test';create table user(id int(12) unsigned auto_increment comment 'id' primary key, name varchar(15), add_time timestamp);INSERT INTO `test`.`user`(`id`, `name`, `add_time`) VALUES (1, 'neo', '2018-09-01 00:00:00'); #start 411 end 824 time 2018-09-14 18:22:33INSERT INTO `test`.`user`(`id`, `name`, `add_time`) VALUES (2, 'trinity', '2018-09-02 00:00:00'); #start 411 end 824 time 2018-09-14 18:22:33INSERT INTO `test`.`user`(`id`, `name`, `add_time`) VALUES (3, 'jason', '2018-09-05 00:00:00'); #start 411 end 824 time 2018-09-14 18:22:33DELETE FROM `test`.`user` WHERE `id`=1 AND `name`='neo' AND `add_time`='2018-09-01 00:00:00' LIMIT 1; #start 855 end 1187 time 2018-09-14 18:23:31DELETE FROM `test`.`user` WHERE `id`=2 AND `name`='trinity' AND `add_time`='2018-09-02 00:00:00' LIMIT 1; #start 855 end 1187 time 2018-09-14 18:23:31
解析出回滚SQL
(venv4archer) [root@mysql-server binlog2sql]# python binlog2sql/binlog2sql.py -uroot -p'root' -h 127.0.0.1 -P 23306 -dtest -tuser --start-file='mysql-bin.000004' --start-datetime='2018-09-14 17:00:00' --stop-datetime='2018-09-14 18:25:00' -B > /tmp/20180914_rollback.sql (venv4archer) [root@mysql-server binlog2sql]# cat //tmp/20180914_rollback.sql INSERT INTO `test`.`user`(`id`, `name`, `add_time`) VALUES (2, 'trinity', '2018-09-02 00:00:00'); #start 855 end 1187 time 2018-09-14 18:23:31INSERT INTO `test`.`user`(`id`, `name`, `add_time`) VALUES (1, 'neo', '2018-09-01 00:00:00'); #start 855 end 1187 time 2018-09-14 18:23:31DELETE FROM `test`.`user` WHERE `id`=3 AND `name`='jason' AND `add_time`='2018-09-05 00:00:00' LIMIT 1; #start 411 end 824 time 2018-09-14 18:22:33DELETE FROM `test`.`user` WHERE `id`=2 AND `name`='trinity' AND `add_time`='2018-09-02 00:00:00' LIMIT 1; #start 411 end 824 time 2018-09-14 18:22:33DELETE FROM `test`.`user` WHERE `id`=1 AND `name`='neo' AND `add_time`='2018-09-01 00:00:00' LIMIT 1; #start 411 end 824 time 2018-09-14 18:22:33
数据
二进制
参数
对象
数据库
文件
日志
标准
处理
查询
测试
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
上海喔噻互联网科技有限公司
互联网科技公司税收优惠
猪兼强互联网科技
智网互联网科技
以房互联网科技
润盈互联网科技
广州善班互联网科技
四川狮子座互联网科技
佰商互联网科技有限公司
互联网科技大会案例
博兴的互联网电子科技公司
西藏七维空间互联网科技有限公司
互联网科技产业特征
深圳育鹏互联网科技有限公司招聘
四川慕妮娅互联网科技有限公司
华中科技大学互联网的牛人
从那以后互联网科技有限公司
兰石爱特工业互联网科技分公司
互联网科技对化妆品行业
互联网未来科技
深圳齐家互联网科技
上海致骋互联网科技
互联网高科技企业
互联网科技咨询
四个字互联网科技公司取名
科技互联网大厂
皮皮虾互联网科技有限公司
互联网对科技影响
网互联网络科技