1. 程式人生 > >MySQL只恢復某個庫或某張表

MySQL只恢復某個庫或某張表

在Mysqldump官方工具中,如何只恢復某個庫呢?

全庫備份

[[email protected] ~]#mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql

只還原erp庫的內容

[[email protected] ~]# mysql-uroot -pMANAGER erp --one-database <dump.sql

可以看出這裡主要用到的引數是--one-database簡寫-o的引數,極大方便了我們的恢復靈活性。

那麼如何從全庫備份中抽取某張表呢,全庫恢復,再恢復某張表小庫還可以,大庫就很麻煩了,那我們可以利用正則表示式來進行快速抽取,具體實現方法如下:

從全庫備份中抽取出t表的表結構

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

DROP TABLE IF EXISTS`t`;

/*!40101 [email protected]_cs_client     [email protected]@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表的內容

[[email protected] ~]# grep'INSERT INTO `t`' dump.sql

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

相關推薦

MySQL恢復某個

在Mysqldump官方工具中,如何只恢復某個庫呢? 全庫備份 [[email protected] ~]#mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql 只還原e

mysql 權限管理 針對某個 授權

pass line code weight current war 權限 localhost oot 精確到表級別 針對db1的t3表 授予select權限 mysql> grant select on db1.t3 to ‘mike‘@‘loca

mysql檢視的大小

1、查詢某張表的大小 mysql >  select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from information_schema.tables where table_schema='test' AND table_name=

linux上 mysql建立某個使用者某個有所有許可權

mysql建立某個使用者只對某個庫有所有許可權 grant ALL on  庫名稱.*  to  '使用者名稱'@'允許登入的ip'  IDENTIFIED  BY  '密碼';flush  privileges; (庫名稱.

如何判斷mysql某個資料庫是否存在

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='dbname' AND TABLE_NAME='tablena

mysql查詢是否存在某個欄位

Mysql 1、判斷一個表是否存在 語法: SELECT table_name FROM information_schema.TABLES WHERE table_name ='表名'; sql例子: SELECT table_name FROM informat

簡單按日期查詢mysql中的記錄數

unsigned 計劃 表結構 記錄 create sig 站點 signed using 測試表表結構:mysql> show create table dr_stats\G 1. row Table: dr_stats Create Table:

求出某個年有多少天,如2008年2月2008年?

ont 下載 ext download title index ava static gin 題目6: 2008年2月有多少天?那年有多少天? (視頻下載) (全部書籍) import java.util.*;public class Test { public st

Mysql資料庫如何檢視table被哪些儲存過程procedure使用過

一、摘要 由於程式碼重構,修改了表結構,開發人員修改完java後臺程式碼並內測沒問題後提交業務部門測試時發現,新客戶取不到產品價格,原因是儲存過程呼叫的還是舊資料表。為此,需要先找出哪些儲存過程使用了這些表,然後修改。那麼問題來了,mysql資料庫如何檢視哪些儲存過程使用了這些資料表呢?

oracle查看中否存在字段,數據是否存在

select column div cts obj use user rom bsp 數據庫是否存在某字段 SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME = ‘表名‘ AND COLUMN_NAME = ‘字段

mysqldump 備份匯出資料排除

可以使用--ignore-table=dbname.tablename   忽略一張表 /usr/bin/mysqldump --set-gtid-purged=OFF -h127.0.0.1 -uroot -p'密碼' 資料庫名 --ignore-table=資料庫名.表名 > 自定義

檢視mysql資料庫是否存在

通過information_schema查詢資料庫是否存在某張表 select t.table_name from information_schema.TABLES t where t.TABLE_SCHEMA ='".$database."' and t.TABLE_NAME ='".$table

mysqldump 恢復某個某個

在Mysqldump官方工具中,如何只恢復某個庫呢? 全庫備份 [[email protected] ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql

mysql 資料恢復】誤刪整資料,需要緊急回滾

應用案例 誤刪整張表資料,需要緊急回滾 test庫tbl表原有資料 mysql> select * from tbl; +----+--------+-------------------

通過web伺服器訪問MySQL資料庫,並把資料庫中的解析成xml格式輸出到瀏覽器

可以先想象一下,客戶端用到遠端資料庫中的資訊比如Menu表中的資訊,怎麼獲取呢?可以通過web伺服器獲取。這就需要寫一個繼承 HttpServlet的抽象類,並且重寫doGet()和doPost()方法。    下面就是此類的具體實現: public class Updat

oracle資料庫檢視已經存在的索引以及給某個欄位建立索引

檢視某張表已經存在的索引以及型別 SELECT  b.uniqueness, a.index_name, a.table_name, a.column_name  FROM all_ind_columns a, all_indexes b WHERE a.index_

mysql遍歷一資料庫的的所有欄位進行操作

寫了一個儲存過程,引數是輸入資料庫名稱和表名稱,然後對該表的所有欄位進行操作,過程如下: BEGIN #將表格中含有\N的值置為空 DECLARE table_column VARCHAR(64)

mysql 檢視某個中的一個是哪些的外來鍵

#檢視資料庫所有表 1 SELECT tba.TABLE_NAME&n

mysql中數據與數據編碼格式的查看、創建及修改

utf8 auth body int bar variable variables 如果 constrain 一、查看數據庫編碼格式 ? 1 mysql> show variables like ‘character_set_database‘;

如何判斷數據中是否存在

我不知道 nbsp strong 建表 user http on() 鏈接 metadata 如何判斷數據中某張表是否存在,如果不存在則創建它? 最笨的方法就是寫個select從表中讀數據,捕獲異常的同時就知道了改表沒有創建。 此法不通,因為這個時候的異常似乎被認定為了系