mysql全库备份恢复某个表
Posted 爱夜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql全库备份恢复某个表相关的知识,希望对你有一定的参考价值。
早上小红过来问我说网站的一个功能没了,看了下数据库,少了个表。好吧,心里mmp,开始恢复数据
环境: 全库备份 恢复某一个表
1.1 查看备份数据
[[email protected] mysql_backup]$ ls -lh
total 16G
-rw-r--r-- 1 root root 5.4G May 21 00:58 2018_05_21_00_30_01.all.sql.zip ##找到了备份数据
1.2 查看备份文件类型
[[email protected] mysql_backup]$ file 2018_05_21_00_30_01.all.sql.zip ##查看文件类型
2018_05_21_00_30_01.all.sql.zip: Zip archive data, at least v3.0 to extract
1.3 解压
将压缩文件“2018_05_21_00_30_01.all.sql.zip”在当前目录下解压缩。
[[email protected] mysql_backup]$ unzip 2018_05_21_00_30_01.all.sql.zip
将压缩文件“2018_05_21_00_30_01.all.sql.zip”在指定目录/tmp
下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件
[[email protected] mysql_backup]$ unzip -n 2018_05_21_00_30_01.all.sql.zip -d /tmp
1.4 恢复数据
如何从全库备份中抽取某张表呢,全库恢复,再恢复某张表小库还可以,大库就很麻烦了,那我们可以利用正则表达式来进行快速抽取,具体实现方法如下:
1.从全库备份中抽取出t表的表结构 sed -e‘/./{H;$!d;}‘ -e ‘x;/CREATE TABLE `domain`/!d;q‘
查找到了domain表的结构
[[email protected] ~]$ grep‘INSERT INTO `domain`‘ 2018_05_22_00_30_01.all.sql
以上是关于mysql全库备份恢复某个表的主要内容,如果未能解决你的问题,请参考以下文章