从MySQL全库备份中恢复某个库和某张表的方法
在Mysqldump官方工具中,如何只恢复某个库呢?
全库备份
[root@HE1~]#mysqldump-uroot-p--single-transaction-A--master-data=2>dump.sql
只还原erp库的内容
[root@HE1~]#mysql-uroot-pMANAGERerp--one-database可以看出这里主要用到的参数是--one-database简写-o的参数,极大方便了我们的恢复灵活性。
那么如何从全库备份中抽取某张表呢,全库恢复,再恢复某张表小库还可以,大库就很麻烦了,那我们可以利用正则表达式来进行快速抽取,具体实现方法如下:
从全库备份中抽取出t表的表结构
[root@HE1~]#sed-e'/./{H;$!d;}'-e'x;/CREATETABLE`t`/!d;q'dump.sqlDROPTABLEIFEXISTS`t`; /*!40101SET@saved_cs_client=@@character_set_client*/; /*!40101SETcharacter_set_client=utf8*/; CREATETABLE`t`( `id`int(10)NOTNULLAUTO_INCREMENT, `age`tinyint(4)NOTNULLDEFAULT'0', `name`varchar(30)NOTNULLDEFAULT'', PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8; /*!40101SETcharacter_set_client=@saved_cs_client*/;从全库备份中抽取出t表的内容
[root@HE1~]#grep'INSERTINTO`t`'dump.sql INSERTINTO`t`VALUES(0,0,''),(1,0,'aa'),(2,0,'bbb'),(3,25,'helei');以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。