当前所在位置: 首页 > 生活常识 > 正文

能实现清空表数据(数据库误删了表数据怎么恢复)

2023-02-13 canyinms.com 【 字体:

能实现清空表数据,数据库误删了表数据怎么恢复。小编来告诉你更多相关信息。

作者:杨小云

爱可生数据库工程师,负责 MySQL 日常维护及 DMP 产品支持。擅长mysql故障处理。

场景:

客户误删了一张表,所以 想恢复某张表的数据,期望恢复到删除之前的数据。

前提:

数据库误删某表恢复方法,下面介绍的的方法是针对每天有备份的数据库和开启 binlog 日志的。

说明:本文中的测试库为 test 数据库,测试表是 test 中 student 表。

一、开启 binlog 日志,并备份数据

1.查看数据库是否开启binlog日志

能实现清空表数据(数据库误删了表数据怎么恢复)

如果没有开启,需要下面的方法进行开启

(1)在linux系统下,修改/etc/my.cnf文件

vi /etc/my.cnf

server_id=2

log_bin = mysql-bin

binlog_format = ROW

expire_logs_days = 30

log_bin_basename= /数据库实例安装目录/log/binlog/端口号/mysql-bin

log_bin_index=/数据库实例安装目录/log/binlog/端口号/mysql-bin.index

(2)重启 mysql 服务

systemctl restart mysqld

到这里已经开启 binlog 了,可以用查看命令看一下是否开启

2. 查看一下数据表中的数据

能实现清空表数据(数据库误删了表数据怎么恢复)

3. 备份数据

备份命令格式:

mysqldump [选项] 数据库名 [表名] > 脚本名

mysqldump [选项] --数据库名 [选项 表名] > 脚本名

mysqldump [选项] --all-databases [选项] > 脚本名

(1)备份所有数据库

mysqldump -h10.186.63.4 -P4149 -uu1 -p1234567890q@ -all-databases > /test1.sql

(2)备份单库(多个库之间以空格间隔)

mysqldump -h10.186.63.4 -P4149 -uu1 -p1234567890q@ database > test2.sql

(3)备份单表(多个表以空格间隔)

mysqldump -h10.186.63.4 -P4149 -uu1 -p1234567890q@ database table > test3.sql

(4)备份指定数据库排除某些表

mysqldump -h10.186.63.4 -P4149 -uu1 -p1234567890q@ database --ignore-table=db.tb --ignore-table=db.tb2 > /test4.sql

4. 插入数据后删除数据库

插入数据,生成 binlog 日志

mysql> insert into student values(\'201215130\',\'张三\',\'男\',21,\'IS\');

Query OK, 1 row affected (0.03 sec)

mysql> insert into student values(\'201215131\',\'李四\',\'女\',20,\'MA\');

Query OK, 1 row affected (0.02 sec)

删除数据库

mysql> drop database test;

Query OK, 1 row affected (0.10 sec)

切记这个时候不要有任何的操作!!!

二、恢复数据

1. 查看当前的 binlog

mysql> show master status\\G;

************************ 1. row ***************************

File: mysql-bin.000021

Position: 68403303

Binlog_Do_DB:

Binlog_Ignore_DB:

Executed_Gtid_Set: 130df5fa-01c1-11ed-916a-02000aba3f04:1-446151

1 row in set (0.00 sec)

No query specified

注:mysql-bin.000021文件将作为恢复删除数据的来源之一

2. 拷贝 binlog 日志

将当前的binlog日志拷贝到其他目录,以免后续操作对 binlog日志产生影响

cp /test/data/mysql/log/binlog/4149/mysql-bin.000021 /root

3. 将转换 binlog 日志为 sql

命令格式为:mysqlbinlog -d database mysql-bin文件 > xx.sql 如:

/data/mysql/base/5.7.25/bin/mysqlbinlog -d test mysql-bin.000021 > 0021bin.sql

WARNING: The option --database has been used. It may filter parts of transactions, but will include the GTIDs in any case. If you want to exclude or include transactions, you should use the options --exclude-gtids or --include-gtids, respectively, instead.

编辑转化后的sql文件

vi 0021bin.sql

将里面的误操作命令(DROP命令)全部删除

保存后开始进行恢复数据

4. 恢复备份文件

/data/mysql/base/5.7.25/bin/mysql -h10.186.63.4 -P4149 -uu1 -p1234567890q@ < test.sql

查看数据库备份文件是否恢复

mysql> show databases;

mysql> use test;

mysql> show tables;

mysql>select * from table;

5. 恢复备份之后被删除的数据

注释掉 binlog 转化后的 sql 文件中的这一行

SET @@GLOBAL.GTID_PURGED=

/*SET @@GLOBAL.GTID_PURGED=XXXX*/;

指定被删除表所在的数据库,导入数据

/data/mysql/base/5.7.25/bin/mysql -h10.186.63.4 -P4149 -uu1 -p1234567890q@ test < 0021bin.sql

查看恢复后的数据

mysql> select * from test.student;

+-----------+-----------+------+------+-------+

| Sno | Sname | Ssex | Sage | Sdept |

+-----------+-----------+------+------+-------+

| 201215121 | 李勇 | 男 | 20 | CS |

| 201215122 | 刘晨 | 女 | 19 | CS |

| 201215123 | 王敏 | 女 | 18 | MA |

| 201215125 | 张立 | 男 | 19 | IS |

| 201215126 | 李一平 | 男 | 18 | IS |

| 201215127 | 张琴 | 女 | 19 | CS |

| 201215128 | 王方 | 女 | 20 | MA |

| 201215129 | 黄林林 | 男 | 21 | IS |

| 201215130 | 李四 | 女 | 20 | MA |

| 201215131 | 张三 | 男 | 21 | IS |

+-----------+-----------+------+------+-------+

10 rows in set (0.00 sec)

阅读全文
相关推荐

如何自制蛋挞

如何自制蛋挞
1、倒入低筋面、黄油和水,揉成面团状,藏一小时后取出,抹上黄油卷起,包上保鲜膜冷藏半小时。2、取出,将面团切成一厘米的面团,放入模具内,用力按压,中间稍薄,外缘要比模具高,将蛋挞液倒入蛋挞皮中,放入烤箱里烤30分钟即可。

肉火烧面怎么和面

肉火烧面怎么和面
1、首先用温水把酵母融开,加入面粉,用手把面粉揉成非常软的面团,可以放一点熬好的猪油在面团里面。2、然后放在温暖的地方,盖上保鲜膜发酵至2倍大,发好的面团用手插入不回缩,就说明面团发酵好了。

奶茶几分糖好喝

奶茶几分糖好喝
1、不同的人对奶茶的口感要求是不一样的,一般来说,奶茶有三分糖、五分糖、七分糖三种不同的口味。2、女生一般都喜欢喝甜一点的,而男生则喜欢喝不那么甜的,七分糖的奶茶最好喝。

过桥米线是哪里的?

过桥米线是哪里的?
过桥米线是来自云南省滇南地区的一种有名特色小吃。过桥米线最早是在清朝就已经出现,距离现在至少有一百多年的历史啦!起源于建水县东城外锁龙桥西侧的鸡市街头处,有建水的特产草芽、地椒作配料,风味独特而远近闻名。深受广大美食爱好者的喜欢,不少人为此专门长途跋涉,只为尝

面霜和乳液的区别

面霜和乳液的区别
面霜和乳液的区别,相较而言乳液的水分含量要比面霜高,乳液质地要轻薄一些,乳液主要作用是保湿,滋润可以隔离外界干燥的气候,面霜既可保湿,又可美白,还能抗衰老,乳液的吸收快一些,而面霜吸收比较慢一些,因为液体的吸收速度都比较快。

怎么摘隐形眼镜

怎么摘隐形眼镜
在摘隐形眼镜之前,先用洗手液将手清洗干净,以免将细菌带入眼睛内,对着镜子,用右手中指轻拉眼睛下眼睑,左手中指轻拉眼睛上眼睑,让黑色眼球暴露在空气中,用右手食指和拇指轻触镜片的两边缘部分,向中间推使镜片拱起,再用两手指轻轻捏出镜片即可。

粉饼和散粉的区别

粉饼和散粉的区别
粉饼是呈压缩固体状态,多呈圆形或者方形,散粉则是细腻的粉末状,粉饼遮瑕力会比较强一些,可以湿用做粉底,或者用来补妆,而散粉则是定妆的效果,粉饼通常用在底妆的第一步,而散粉通常用在底妆最后一步。

冷烫和热烫的区别

冷烫和热烫的区别
冷烫和热烫的区别:冷烫对头发的要求是要在保温状态下才能给卷有个好的效果,而热烫是在干和湿的情况下都行,热烫烫出来的头发比较自然明显而有弹力,冷烫的头发风干后基本看不出来,并且发质会有点干。

高品质香水如何鉴别?用三步就可以解决

高品质香水如何鉴别?用三步就可以解决
1、看色泽以天然香料调制而成的高级香水,都有它本来的颜色,且大都是琥珀色或褐色,看起来很像宝石,比如,从茉莉、玫瑰或水仙等天然鲜花中所萃取的精油都呈黄色、褐白或绿褐色;此外,香水中所添加的魅惑香气物性香料也是褐色,苔类中的橡树苔是绿色,从树根或树根脂类中萃取的

如何去除黑眼圈

如何去除黑眼圈
去除黑眼圈首先可以用热毛巾敷眼,然后再用冷毛巾敷,十分钟就能让黑眼圈淡化的不那么严重,其次将去壳后的鸡蛋用无菌纱布包裹住,敷于眼部轻轻转动,可以急救去除黑眼圈,另外抹完眼霜后,用双手顺时针按摩,可以促进血液循环消除黑眼圈。
本文Tag