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] mysql_backup]$ sed -e‘/./{H;$!d;}‘ -e ‘x;/CREATE TABLE `domain`/!d;q‘ 2018_05_22_00_30_01.all.sql

DROP TABLE IF EXISTS `domain`;

/*!40101 SET @saved_cs_client     = @@character_set_client */;

/*!40101 SET character_set_client = utf8 */;

CREATE TABLE `domain` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘主键id‘,

`domain_name` varchar(255) NOT NULL DEFAULT ‘‘ COMMENT ‘域名‘,

`create_time` int(11) unsigned DEFAULT ‘0‘ COMMENT ‘创建时间‘,

`status` tinyint(1) NOT NULL DEFAULT ‘0‘ COMMENT ‘域名状态(0- 正常 1-封禁 -1 删除)‘,

PRIMARY KEY (`id`)

) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

/*!40101 SET character_set_client = @saved_cs_client */;

2.从全库备份中抽取出t表的内容

[[email protected] ~]$ grep‘INSERT INTO `domain`‘  2018_05_22_00_30_01.all.sql

INSERT INTO `domain`

VALUES

(

1,

www.baidu.com‘,

1523781065 ,- 1

),

原文地址:https://www.cnblogs.com/mclzy/p/9078815.html

时间: 2024-08-26 10:14:07

mysql全库备份恢复某个表的相关文章

从MySQL全库备份中恢复某个库和某张表【转】

从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [[email protected] backup]#mysqldump -uroot -p123456 --default-character-set=utf8 --single-transaction --extended-insert=false --hex-blob --master-data=2 --log-error=/tmp/test.err --routines --triggers --events --quick -

再谈MySQL全库备份

再谈MySQL全库备份 简介 Part1:写在最前 在很早之前,我写过一个MySQL生产库全库备份脚本,今天有同事问我是不是要再加一个-R参数来备份存储过程,理由的话是由于mysqldump --help中 关于存储过程的默认备份是false. routines                          FALSE MySQL生产库全库备份脚本 http://suifu.blog.51cto.com/9167728/1758022 实战 Part1:写在最前 我备份一般就三个参数 --s

mysql全库备份/增量备份脚本

http://hongge.blog.51cto.com/ 生产环境中Mysql数据库的备份是周期性重复的操作,所以通常是要编写脚本实现,通过crond计划任务周期性执行备份脚本 mysqldump备份方案: 周日凌晨1点全库备份 周一到周六凌晨每隔4个小时增量备份一次 设置crontab任务,每天执行备份脚本 # crontab –e #每个星期日凌晨1:00执行完全备份脚本 0 1 * * 0 /root/mysqlfullbackup.sh >/dev/null 2>&1 #周一

mysql全库备份

#!/bin/bash PASSWORD=ks4QrUhgmH6XZvE1hY1Q /usr/local/mysql/bin/mysqldump -uroot -p$PASSWORD \ --master-data=2 --all-databases | gzip > /backup/db_`date +%Y%m%d%H%M`.sql.gz find /backup/ -ctime +10 -exec rm -f {} \;

MySQL 採用Xtrabackup对数据库进行全库备份

1,xtrabackup简单介绍 关于数据库备份以及备份工具.參考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已经怎样使用xtrabackup进行对数据库的全备份已经恢复. 2,xtrabackup下载 下载地址为:http://www.percona.com/downloads/XtraBackup/ Chorm浏览器以下.在"DOWNLOADPERCONA XTRABACKUP"以下,选择版本号

MySQL 采用Xtrabackup对数据库进行全库备份

1,xtrabackup简介 关于数据库备份以及备份工具,参考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已经如何使用xtrabackup进行对数据库的全备份已经恢复. 2,xtrabackup下载 下载地址为:http://www.percona.com/downloads/XtraBackup/ Chorm浏览器下面,在"DOWNLOADPERCONA XTRABACKUP"下面,选择版本号以及

用Mysqldump实现全库备份+binlog的数据还原

随着业务量的增长,数据库也是成倍增长,原来一直使用的全库备份不再适合现在的数据库了,动辄就备份10G-20G,太占用磁盘空间,所以就考虑用更简洁更快速更节省磁盘空间的备份方法,这就想到了使用binlog日志来进行备份和恢复,下面是具体实施的方法: 环境介绍: 操作系统:Centos 7.2 数据库:Mysql 5.6 一.安装Mysql和改配置文件 安装就不具体介绍了,网上教程很多,配置文件需要添加以下选项: vim /etc/my.cnf log_bin = mysql-binlog    #

Percona Xtrabackup实现mysql全量备份和增量备份

###########################################################################        安装mysql或者mariaDB本地也要装mysql或者mariaDB相关的包          ##########################################################################略 ######################################### 

[运维笔记] Mysql单库备份脚本

工作中用到的Mysql单库备份Shell脚本,压缩备份,并在Crontab中添加计划任务,最多保存60天的备份 #!/bin/bash . /etc/profile USERNAME=zabbix PASSWORD=xxxxx DBHOST=127.0.0.1 DATABASES=zabbix BACKUPDIR=/data/mysqlback/zabbix/fulldb DATE=`date +%Y-%m-%d_%H_%M` rm -fv ${BACKUPDIR}/*$(date +%Y-%m