從MySQL全庫備份中恢復某個庫和某張表的方法
更新時間:2019年04月10日 16:00:27 作者:dbapower
這篇文章主要介紹了從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重連連接丟失:The last packet successfully 
在開發(fā)和運維MySQL數據庫應用時,經常會遇到“連接丟失”或“重連失敗”的問題,這類問題不僅會影響應用程序的穩(wěn)定性,還可能導致數據不一致等嚴重后果,本文將探討MySQL連接丟失的原因、如何診斷此類問題以及采取哪些措施來解決或預防,需要的朋友可以參考下2025-02-02

