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

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



在Mysqldump官方工具中,如何只恢复某个库呢?

全库备份

[root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql

只还原erp库的内容

[root@HE1 ~]# mysql -uroot -pMANAGER erp --one-database <dump.sql </dump.sql<>

可以看出这里主要用到的参数是--one-database简写-o的参数,极大方便了我们的恢复灵活性。

那么如何从全库备份中抽取某张表呢,全库恢复,再恢复某张表。小库还可以,大库就很麻烦了,那我们可以利用正则表达式来进行快速抽取,具体实现方法如下:

从全库备份中抽取出t表的表结构

[root@HE1 ~]# sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `t`/!d;q' dump.sql

 

DROP TABLE IF EXISTS`t`;

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

/*!40101 SETcharacter_set_client = utf8 */;

CREATE TABLE `t` (

  `id` int(10) NOT NULL AUTO_INCREMENT,

  `age` tinyint(4) NOT NULL DEFAULT '0',

  `name` varchar(30) NOT NULL DEFAULT '',

  PRIMARY KEY (`id`)

) ENGINE=InnoDBAUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

/*!40101 SETcharacter_set_client = @saved_cs_client */;

 

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

[root@HE1 ~]# grep'INSERT INTO `t`' dump.sql

INSERT INTO `t`VALUES (0,0,''),(1,0,'aa'),(2,0,'bbb'),(3,25,'helei');

本文出自 “贺磊的技术博客” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1830651



About Me


.............................................................................................................................................

● 本文整理自网络

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群:230161599     微信群:私聊

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

.............................................................................................................................................

● 小麦苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/

.............................................................................................................................................

使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

   小麦苗的微信公众号          小麦苗的QQ群             小麦苗的微店

.............................................................................................................................................

时间: 2024-11-27 10:23:06

从MySQL全库备份中恢复某个库和某张表的相关文章

MySQL 从全库备份中恢复指定的表和库示例_Mysql

MySQL 从备份数据库中恢复指定的表和库示例 在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql 只还原erp库的内容 [root@HE1 ~]# mysql -uroot -pMANAGER erp --one-database <dump.sql 可以看出这里主要用到的参数是--one-database简写-o

数据库中把一张表中的值传给另一张表中相同的字段

问题描述 数据库中把一张表中的值传给另一张表中相同的字段 数据库中有两张表A,B,大部分字段相同,A表中没有数据,要把B表中的数据传给A表中相对应的字段 解决方案 11两种情况 2.B表中的行在A表中都有,A表仅是缺少部分数据列 UPDATE A SET A.F1 = B.F1,A.F2=B.F2 FROM B WHERE A.Id = B.Id AND B.Filter=... 3.B表中的数据未必在A表中都用,A表不仅缺数据列,还缺数据行.要执行两句(MSSQL) INSERT INTO A

mvc4-MVC4中,用LINQ查询两张表的内容,然后显示在列表中

问题描述 MVC4中,用LINQ查询两张表的内容,然后显示在列表中 如题,新手才接触MVC 请高手帮忙解答 .万分感谢 ,PS:不要说把两个实体层写在一个类中.这样太麻烦 而且不方便 解决方案 把两个实体封装在一个model里面,然后在view层里面直接model.每一个实体就行了,你可以试试 解决方案二: 还有一点的是,我不太会json,如果说用json的方式去实现,麻烦上一下源码. 谢谢了 解决方案三: 两张表有关系么?要是有关系 ,设置一下表关系,查询时,只查主键的表,外键的表内容 ,就自

vb.net 结构树sql表中自动编号在另一张表中怎么能同时更新

问题描述 vb.net 结构树sql表中自动编号在另一张表中怎么能同时更新 我在用VB.NET和SQL做treeview结构树 时 数据库中有两张表 一张是结构树表 一张是结构树数属性表 结构树表的编号是自动编号的 我怎么将结构树中的自动编号 放到另一张属性表中 解决方案 两张表肯定要有主外键关联的啊,通过联表查询可得 解决方案二: 在sql中设置级联更新或者用触发器

MySQL 数据库的备份和恢复

1.mysqldump 1.1 备份 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法.现在来讲一下 mysqldump 的一些主要参数: --compatible=name 它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容.值可以为 ansi.mysql323.mysql40.postgresql.oracle.mssql.db2.maxdb.n

使用Xtrabackup全量备份和恢复mysql数据库

一.Xtrabackup简单概述: Percona  Xtrabackup是开源免费的mysql数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流压缩到传输到其它服务器 4.能比较容易地创建主从同步 5.备份MySQL时不会

【Mysql】xtrabackup 备份和恢复测试

1 创建测试环境 mysql> create table t1 as select * from sbtest; Query OK, 1000000 rows affected (33.37 sec) Records: 1000000  Duplicates: 0  Warnings: 0 mysql> insert into t1 select * from t1;                           Query OK, 1000000 rows affected (1 mi

Linux下实现MySQL数据备份和恢复的命令使用全攻略_Mysql

为了保障数据的安全,需要定期对数据进行备份.备份的方式有很多种,效果也不一样.一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复.从而将损失降到最低.下面我们来了解一下MySQL常见的有三种备份恢复方式: 1.利用Mysqldump+二进制日志实现备份 2.利用LVM快照+二进制日志实现备份 3.使用Xtrabackup备份 一:实验环境介绍: 系统介绍:CentOS6.4_X64 数据库版本:mysql-5.5.33 二:基于Mysqldump命令实现备份恢复 2.1.思路概念

MySQL的备份和恢复

前奏: 建议在Linux中使用RPM包来安装MySQL.MySQL RPM目前已经嵌入到SuSE Linux 7.3系统中,但是应当能在大多数支持rpm和使用glibc的Linux版本中工作. MySQL AB不提供与具体平台相关的RPM:具体平台相关的RPM和通用RPM之间的区别是具体平台相关RPM为目标平台而构建,为动态连接.而通用RPM与Linux线程之间是静态连接. 注释:通常由其它供应商提供MySQL的RPM分发版.其特征和功能与MySQL AB所构建的不同,该手册中的指令不一定适合安