首页数据库如何从MySQL全库备份里恢复库和表

如何从MySQL全库备份里恢复库和表

时间2024-03-24 02:42:03发布访客分类数据库浏览1367
导读:关于“如何从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的参数,极大方便了我们的恢复灵活性。

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

从全库备份中抽取出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');
    

到此这篇关于“如何从MySQL全库备份里恢复库和表”的文章就介绍到这了,感谢各位的阅读,更多相关如何从MySQL全库备份里恢复库和表内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

MySQL

若转载请注明出处: 如何从MySQL全库备份里恢复库和表
本文地址: https://pptw.com/jishu/651766.html
数组里面可放数组吗,php可不可以这样做 explain中key_len如何实现计算

游客 回复需填写必要信息