数据库误删恢复

这篇具有很好参考价值的文章主要介绍了数据库误删恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库误删恢复

前言

       经常听说删库跑路这真的不只是一句玩笑话,若不小心删除了数据库,事情很严重。你一个不小心可能会给公司删没。建议研发不要直连生成环境,一般的话都会分配账号权限,生产环境的账号尽量是只读,以防你一个不经意给库或表删除。一定要备份,这很重要,这是一个血的教训。

1、创建表

DROP TABLE IF EXISTS `user_misjudge`; --如果表存在则删除,然后执行如下语句重新创建。
CREATE TABLE `user_misjudge`  (
   `id` bigint(50) NOT NULL AUTO_INCREMENT,
   `attr1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   `attr3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   `attr4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   `attr5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

2、BigLog日志相关 

2.1、检查biglog状态是否开启 

声明: 当前为mysql版本5.7  当前为mysql版本5.7  当前为mysql版本5.7 

2.1.1、Navicat工具执行

SHOW VARIABLES LIKE 'LOG_BIN%';
  •  OFF 是未开启状态,如果不是ON 开启状态需要开启为ON。{默认情况下就是关闭状态}

数据库误删恢复

2.1.2、命令行执行

  • 其中-h表示服务器名,localhost表示本地;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后链接输入,如:-proot;如果用户没有设置密码,显示Enter password时,直接回车即可。
mysql -hlocalhost -uroot -proot

数据库误删恢复

2.2、开启biglog

  •  执行语句开启biglog
SET GLOBAL log_bin = 'ON';

执行结果:

数据库误删恢复

注意: 报错了! 报错了! 报错不可怕,可怕的是报错没有征兆。如果要永久修改log_bin的值,需要修改MySQL的配置文件(my.cnf或my.ini),并重启MySQL服务器使修改生效。( 只读变量,不能使用set修改,只能通过修改my.cnf或my.ini文件再重启生效 )

  1.  遇到这种错误,需要修改 my.cnf <Linux系统> 或 my.ini<Windows系统> 配置文件,在 [mysqld] 下面增加 log-bin=mysql-bin  后,重启MySQL服务即可
  2. 在 [mysqld] 段落中添加的log-bin=mysql-bin这是一个 MySQL 数据库的配置选项,用于开启二进制日志记录。二进制日志可以记录所有的数据库操作,包括增删改查等。开启二进制日志记录可以用于备份和恢复数据库,以及进行数据复制等操作。
  3. 在 [mysqld] 段落中添加 server-id=1 (其中的1可以替换为任意整数,但要确保主从之间的server-id不同)
  4. server-id 是 MySQL 数据库中的一条配置参数,用于设置 MySQL 实例的唯一 ID。每个 MySQL 实例都必须有一个唯一的 server-id,以便 MySQL 集群中的各个节点能够相互识别和通信。通常情况下,server-id 参数会被设置为一个唯一的数字或字符串,比如可以设置为当前服务器的 IP 地址或主机名。如果在一个 MySQL 集群中配置不正确,可能会导致数据同步出现问题,因此需要谨慎配置。
# 开启BigLog用于备份和恢复数据库,以及进行数据复制等操作。
log-bin=mysql-bin  
# 实例都必须有一个唯一的 server-id 如:server-id=1 ,以便 MySQL 集群中的各个节点能够相互识别和通信。
server-id=1 
  •   ON 是开启状态,如果是开启状态那就可以做数据恢复了。

数据库误删恢复

2.3、查看biglog日志文件

show binary logs;

数据库误删恢复

2.3.1、查看master状态

show master status;

数据库误删恢复

 2.3.2、查看第一个binlog文件内容

show binlog events;

 数据库误删恢复

 2.3.3、查看指定binlog文件的内容

show binlog events in 'mysql-bin.000002';

数据库误删恢复

注意: 上一个事件的结束位置,就是下一个事件的开始位置。如下↓↓↓

数据库误删恢复

 2.3.4、刷新log日志

flush logs;

数据库误删恢复

 2.3.5、删除日志文件

MySQL删除日志的方式有以下几种:

  1. 通过Reset Master指令删除全部binlog日志,删除之后,日志编号将从xxxx.00001重新开始。
  2. 执行指令purge master logs to 'mysqlbin.******',该命令将删除指定编号之前的所有日志。
  3. 执行指令purge master logs before 'yyyy-mm-dd hh24:mi:ss',该命令将删除指定日期之前的所有日志。
  • 列出所有日志
show binary logs;

数据库误删恢复

  •  指定删除
purge master logs to 'mysql-bin.000001';

数据库误删恢复

  •   指定日期删除(该命令将删除指定日期之前的所有日志)
purge binary logs before '2023-5-29 23:59:59';

数据库误删恢复

  • 删除全部binlog日志
 reset master;

数据库误删恢复

2.3.6、查看和修改日志文件有效期

 说明:

  1. 查看日志文件的有效期 show variables like '%expire_logs_days%';默认有效期为 0,表示 Binlog 日志的自动清理功能是没有启用的
  2. 设置日志文件有效期 参数set global expire_logs_days=7; 此参数的含义是设置日志的过期天数为7天,过了指定的天数后日志将会被自动删除,这样将有利于减少DBA管理日志的工作量。
  • 查看日志文件的有效期
show variables like '%expire_logs_days%';

 数据库误删恢复

  • 设置日志文件有效期
set global expire_logs_days=7;

数据库误删恢复

3、误删恢复

3.1、查看数据库

show databases;

数据库误删恢复

3.2、查看表中的数据

 --切换到指定数据库。
use text; 
--显示当前数据库中的所有表名。
show tables;
--查询表数据
select * from user_misjudge;

数据库误删恢复

 3.3、查看用户表相关操作日志

说明: show binary logs; 和 show master logs; 都是显示所有可用的binlog日志文件列表。

show master logs;

数据库误删恢复

 注意: 可以看到我之前删除的表数据已经被记录了 ,由于之前演示删除日志,我的日志是不完整的不完整的日志是不能恢复的 。(开启日志后 重新创一个库 详情查看:3.4重新创建库) ↓↓↓

3.4、重新创建库

  • 删除库
drop database text
  • 清空全部日志
 reset master;
  • 创建库
 CREATE DATABASE `text` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'
  • 查看日志信息
show binlog events in 'mysql-bin.000001';

数据库误删恢复

3.4、删除数据库 text 

 drop database text;

 数据库误删恢复

 可以看到列表text库已经被删除 

3.5、恢复数据库

3.5.1、查看日志文件中的信息

show binlog events in 'mysql-bin.000001';

数据库误删恢复

3.5.2、利用事件开始结束位置进行恢复

mysqlbinlog --start-position=154 --stop-position=427 mysql-bin.000001 | mysql -uroot -p

以上该命令是一个从MySQL二进制日志文件中提取数据并导入到MySQL数据库的命令。具体解释如下:

  1. mysqlbinlog:MySQL二进制日志文件命令,用于读取、处理和输出MySQL二进制日志文件中的内容。
  2. --start-position=154:指定从二进制日志文件的154个字节开始读取,默认情况下,mysqlbinlog从文件的开头开始读取。
  3. --stop-position=427:指定从二进制日志文件的427个字节结束读取,默认情况下,mysqlbinlog读取到文件的末尾。
  4. mysql-bin.000001:二进制日志文件名,表示要读取的二进制日志文件。
  5. |:管道符,将前面的命令的输出作为后面命令的输入。
  6. mysql:MySQL客户端命令,用于连接和操作MySQL数据库。
  7. -uroot:指定以root用户身份连接MySQL数据库。
  8. -p:表示连接MySQL数据库时需要输入密码。
  • 注意: 此命令是使用终端,进入MySQL时的路径下的 data 目录下执行。

数据库误删恢复

  •  查看是否恢复删除的库text

数据库误删恢复

 3.5.3、查看mysql-bin.000001文件日志细节

说明

  1. 由于binlog是二进制的文件,使用mysqlbinlog命令进行转换。
  2. mysqlbinlog:MySQL二进制日志文件命令,用于读取、处理和输出MySQL二进制日志文件中的内容。
  3.  找到安装MySQL时的路径下的 data 目录,不管你是Linux 或windows,我目前是windows 我就在data目录下使用cmd (如果是linux查详细的日志信息内容,同理进入MySQL时的路径下的 data 目录,这个时候需要用 ls -la 来查看细节,执行命令:mysqlbinlog 'mysql-bin.000001' ) 
  4. 配置MySQL环境变量,不配置执行命令会失败,右击我的电脑–高级系统设置–环境变量–系统变量–Path(点击,添加MySQL的bin目录)
  • 生成mysql-bin.000001文件日志细节名称是xj.sql
mysqlbinlog "mysql-bin.000001">"xj.sql"

数据库误删恢复

  • 生成后的mysql-bin.000001文件日志位置

数据库误删恢复

  •  解析后的mysql-bin.000001文件日志细节

数据库误删恢复

3.5.4、利用事件时间节点进行恢复

mysqlbinlog --start-datetime="2023-06-01 11:32:34" --stop-datetime="2023-06-01 11:47:46" mysql-bin.000001 | mysql -uroot -p
  • 查看恢复的text库

数据库误删恢复

3.6、恢复数据库表

3.6.1、进入库

  • 可以看到text库下没有表

数据库误删恢复

3.6.2、库下创建表

  • 建表语句文章开头已经给大家准备直接拿过来执行。

数据库误删恢复

  • 表已经创建成功  

 数据库误删恢复

 3.6.3、库下的表中添加数据

insert user_misjudge(attr1) values('CSDN臭弟弟');
insert user_misjudge(attr1) values('这是一条数据');

数据库误删恢复

 3.6.4、删表之间查看日志信息

数据库误删恢复

 数据库误删恢复

 3.6.4、删除表

drop tables user_misjudge;
  •  查询user_misjudge已经不存在了

数据库误删恢复

 3.6.5、恢复表

mysqlbinlog --start-position=720 --stop-position=1579 mysql-bin.000001 | mysql -uroot -p
  •  不用再说了吧一定要终端执行以上命令,离开mysql命令行进入mysql路径下的 data 目录使用终端执行。

数据库误删恢复

 3.6.7、查看恢复的表

数据库误删恢复

  • 查看日志
 show binlog events in 'mysql-bin.000001';

数据库误删恢复

 可以看到 我们只恢复了表 并没有恢复数据 。为什么???  往下继续↓↓

  3.6.8、分析日志

原因:

       在导航{3.6.5、恢复表} 我们执行的语句mysqlbinlog --start-position=720 --stop-position=1579 mysql-bin.000001 | mysql -uroot -p, 事件开始位置720 ,事件结束位置1579,说明我们位置不对呗,这个位置只能恢复表不能恢复数据。(想要恢复数据应该在 事件的结束位置应该在 删除表之前的最后连接的位置才对)

  • 完整日志如下:
mysql> show binlog events in 'mysql-bin.000001';
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Log_name         | Pos  | Event_type     | Server_id | End_log_pos | Info                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mysql-bin.000001 |    4 | Format_desc    |         1 |         123 | Server ver: 5.7.28-log, Binlog ver: 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 |  123 | Previous_gtids |         1 |         154 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| mysql-bin.000001 |  154 | Anonymous_Gtid |         1 |         219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  219 | Query          |         1 |         362 | CREATE DATABASE `text` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 |  362 | Anonymous_Gtid |         1 |         427 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  427 | Query          |         1 |         512 | drop database text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| mysql-bin.000001 |  512 | Anonymous_Gtid |         1 |         577 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  577 | Query          |         1 |         720 | CREATE DATABASE `text` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 |  720 | Anonymous_Gtid |         1 |         785 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  785 | Query          |         1 |        1532 | use `text`; CREATE TABLE `user_misjudge`  (   `id` bigint(50) NOT NULL AUTO_INCREMENT,   `attr1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic |
| mysql-bin.000001 | 1532 | Anonymous_Gtid |         1 |        1597 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 1597 | Query          |         1 |        1669 | BEGIN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 1669 | Table_map      |         1 |        1740 | table_id: 163 (text.user_misjudge)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| mysql-bin.000001 | 1740 | Write_rows     |         1 |        1799 | table_id: 163 flags: STMT_END_F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| mysql-bin.000001 | 1799 | Xid            |         1 |        1830 | COMMIT /* xid=2016 */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 1830 | Anonymous_Gtid |         1 |        1895 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 1895 | Query          |         1 |        1967 | BEGIN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 1967 | Table_map      |         1 |        2038 | table_id: 163 (text.user_misjudge)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| mysql-bin.000001 | 2038 | Write_rows     |         1 |        2102 | table_id: 163 flags: STMT_END_F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| mysql-bin.000001 | 2102 | Xid            |         1 |        2133 | COMMIT /* xid=2017 */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 2133 | Anonymous_Gtid |         1 |        2198 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 2198 | Query          |         1 |        2324 | use `text`; DROP TABLE `user_misjudge` /* generated by server */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| mysql-bin.000001 | 2324 | Anonymous_Gtid |         1 |        2389 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 2389 | Query          |         1 |        3136 | use `text`; CREATE TABLE `user_misjudge`  (   `id` bigint(50) NOT NULL AUTO_INCREMENT,   `attr1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
24 rows in set (0.00 sec)

创建表的起始位置是720 ,在日志中删除表的结束之前最后连接的位置是2190,这样就可以恢复我们删表之前的表和两条数据。

数据库误删恢复

  •  再次恢复,直接告诉你会报错

数据库误删恢复

  •  为什么报错,已经存在了 

数据库误删恢复

3.6.9、恢复表中数据

  • 既然表恢复了,那就恢复数据呗,找事件开始结束位置数据节点
mysql> show binlog events in 'mysql-bin.000001';
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Log_name         | Pos  | Event_type     | Server_id | End_log_pos | Info                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mysql-bin.000001 |    4 | Format_desc    |         1 |         123 | Server ver: 5.7.28-log, Binlog ver: 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 |  123 | Previous_gtids |         1 |         154 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| mysql-bin.000001 |  154 | Anonymous_Gtid |         1 |         219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  219 | Query          |         1 |         362 | CREATE DATABASE `text` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 |  362 | Anonymous_Gtid |         1 |         427 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  427 | Query          |         1 |         512 | drop database text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| mysql-bin.000001 |  512 | Anonymous_Gtid |         1 |         577 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  577 | Query          |         1 |         720 | CREATE DATABASE `text` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 |  720 | Anonymous_Gtid |         1 |         785 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 |  785 | Query          |         1 |        1532 | use `text`; CREATE TABLE `user_misjudge`  (   `id` bigint(50) NOT NULL AUTO_INCREMENT,   `attr1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic |
| mysql-bin.000001 | 1532 | Anonymous_Gtid |         1 |        1597 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 1597 | Query          |         1 |        1669 | BEGIN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 1669 | Table_map      |         1 |        1740 | table_id: 163 (text.user_misjudge)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| mysql-bin.000001 | 1740 | Write_rows     |         1 |        1799 | table_id: 163 flags: STMT_END_F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| mysql-bin.000001 | 1799 | Xid            |         1 |        1830 | COMMIT /* xid=2016 */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 1830 | Anonymous_Gtid |         1 |        1895 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 1895 | Query          |         1 |        1967 | BEGIN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 1967 | Table_map      |         1 |        2038 | table_id: 163 (text.user_misjudge)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| mysql-bin.000001 | 2038 | Write_rows     |         1 |        2102 | table_id: 163 flags: STMT_END_F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| mysql-bin.000001 | 2102 | Xid            |         1 |        2133 | COMMIT /* xid=2017 */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| mysql-bin.000001 | 2133 | Anonymous_Gtid |         1 |        2198 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 2198 | Query          |         1 |        2324 | use `text`; DROP TABLE `user_misjudge` /* generated by server */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| mysql-bin.000001 | 2324 | Anonymous_Gtid |         1 |        2389 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mysql-bin.000001 | 2389 | Query          |         1 |        3136 | use `text`; CREATE TABLE `user_misjudge`  (   `id` bigint(50) NOT NULL AUTO_INCREMENT,   `attr1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   `attr5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,   PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
24 rows in set (0.00 sec)

mysql>
  • 事件开始位置720 ~事件结束位置1579 恢复的是表,那么事件开始位置1532~事件结束位置2189恢复的就是那两条数据。
mysqlbinlog --start-position=1532 --stop-position=2189 mysql-bin.000001 | mysql -uroot -p

数据库误删恢复

  •  查看恢复的两条数据

数据库误删恢复文章来源地址https://www.toymoban.com/news/detail-469963.html

到了这里,关于数据库误删恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从删库到跑路】MySQL数据库的查询(单表查询,多表查询,内外连接,联合查询,子查询)

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 在项目开发中,在进行数据库表结构设计时,会根据业务需求以及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联

    2024年02月10日
    浏览(48)
  • 【从删库到跑路】MySQL数据库的索引(一)——索引的结构(BTree B+Tree Hash),语法等

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出小吉的问题 索引(index)是帮助MySQL 高效获取数据 的 有序 的 数据结构 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方

    2024年02月16日
    浏览(55)
  • 数据库数据恢复-Oracle数据库数据恢复案例

    数据库数据恢复环境: Oracle数据库ASM磁盘组有4块成员盘。 数据库故障分析: Oracle数据库ASM磁盘组掉线 ,ASM实例无法挂载,用户联系我们要求恢复oracle数据库。 数据库数据恢复工程师拿到磁盘后,先将所有磁盘以只读方式进行扇区级别的镜像备份,后续的数据分析和数据恢

    2024年02月13日
    浏览(67)
  • Oracle ORA-01033: ORACLE initialization or shutdown in progress(误删了DBF数据库文件导致)解决方法

    先声明一下前期的一些手欠欠儿的操作导致oracl登录不进去了,起先是清理磁盘空间的时候误删除了orcle DBF数据文件后无法进入系统,plsql登录报错如下: 一般情况下,删除表空间的正确方法是: DROP TABLESPACE BDCDJ INCLUDING CONTENTS AND DATAFILES; 如果没有通过以上命令删除而直接删

    2024年02月02日
    浏览(69)
  • 数据库数据恢复-Syabse数据库存储页底层数据杂乱的数据恢复案例

    数据库恢复环境: Sybase版本:SQL Anywhere 8.0。 数据库故障: 数据库所在的设备意外断电后,数据库无法启动。 错误提示: 使用Sybase Central连接后报错:     数据库故障分析: 经过北亚企安数据恢复工程师检测,定位到数据库无法启动的原因:突然断电导致Sybase数据库无法正

    2024年02月15日
    浏览(47)
  • 数据库数据恢复-Oracle数据库文件出现坏块的数据恢复案例

    Oracle数据库故障初检分析: 打开Oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。用户急需恢复zxfg用户下的数据。 出现上述报错的可能原因包括:控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。 北亚企安数据

    2024年02月14日
    浏览(49)
  • 【数据库原理】(27)数据库恢复

    在数据库系统中,恢复是指在发生某种故障导致数据库数据不再正确时,将数据库恢复到已知正确的某一状态的过程。数据库故障可能由多种原因引起,包括硬件故障、软件错误、操作员失误以及恶意破坏。为了确保数据库的安全性和完整性,数据库管理系统(DBMS)必须具有

    2024年01月16日
    浏览(61)
  • 数据库实验7---数据库的备份与恢复

    使用mysqldump命令备份数据库studentsdb的所有表,存于D:下,文件名为all_tables.sql。 在MySQL服务器上创建数据库student1,使用mysql命令将备份文件all_tables.sql恢复到数据库student1中。 使用mysqldump命令备份数据库studentsdb的所有表,存于D:下,文件名为s_c.sql。 在MySQL服务器上创建数据

    2024年02月09日
    浏览(62)
  • 数据库第十章(数据库恢复技术)十一章(并发控制)

    目录 1.事务 2.并发控制 1.事务 事务的特点:ACID 原子性   atom 一致性   consistent 隔离性   isolation 持久性   durable 故障的种类 1.事务内部故障         措施:采取redo重做和undo撤销技术 2.系统故障DBMS         措施:重启 3.介质故障         硬件损坏 4.计算机病毒   数据恢

    2024年02月09日
    浏览(59)
  • Oracle 数据库恢复删除的数据

    需求描述: 同事让删除脏数据,结果删错了,需要恢复数据 思路: 利用闪回恢复数据只能恢复15分钟之内的,后面undo空间会被重写,就恢复不了,所以删除数据后,要谨慎再三确认,若发现不对,则利用闪回恢复 先查询删除时的时间节点的快照 查到时间戳之后 闪回恢复数

    2024年01月24日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包