1. 程式人生 > >[轉]mysqldump 匯出資料庫各引數詳細說明

[轉]mysqldump 匯出資料庫各引數詳細說明

mysqldump 匯出資料庫各引數詳細說明

mysqldump是mysql用於轉儲存資料庫的實用程式。

它主要產生一個SQL指令碼,其中包含從頭重新建立資料庫所必需的命令CREATE TABLE INSERT等。

下面我們詳細介紹一下mysqldump匯出的各種例項:

 

1 匯出一個數據庫的結構

mysqldump -d dbname -uroot -p > dbname.sql

2 匯出多個數據庫的結構

mysqldump -d -B dbname1 dbname2 -uroot -p > dbname.sql

3 匯出一個數據庫中資料(不包含結構)

mysqldump -t dbname -uroot -p > dbname.sql

4 匯出多個數據庫中資料(不包含結構)

mysqldump -t -B dbname1 dbname2 -uroot -p > dbname.sql

5 匯出一個數據庫的結構以及資料

mysqldump dbname -uroot -p > dbname.sql

6 匯出多個數據庫的結構以及資料

mysqldump -B dbname1 dbname2 -uroot -p > dbname.sql

7 匯出一個數據庫中一個表的結構

mysqldump -d dbname1 tablename -uroot -p > tablename.sql

8 匯出一個數據庫中多個表的結構

mysqldump -d -B dbname1 --tables tablename1 tablename2 -uroot -p > tablename.sql

9 匯出一個數據庫中一個表的資料(不包含結構)

mysqldump -t dbname1 tablename -uroot -p > tablename.sql

10 匯出一個數據庫中多個表的資料(不包含結構)

mysqldump -t -B dbname1 --tables tablename1 tablename2 -uroot -p > tablename.sql

11 匯出一個數據庫中一個表的結構以及資料

mysqldump dbname1 tablename -uroot -p > tablename.sql

12 匯出一個數據庫中多個表的結構以及資料

mysqldump -B dbname1 --tables tablename1 tablename2 -uroot -p > tablename.sql

 

儲存過程&函式操作

1 只匯出儲存過程和函式(不匯出結構和資料,要同時匯出結構的話,需要同時使用-d)

mysqldump -R -ndt dbname -u root -p > dbname.sql

2 只匯出事件

mysqldump -E -ndt dbname -u root -p > dbname.sql

3 不匯出觸發器(觸發器是預設匯出的–triggers,使用–skip-triggers遮蔽匯出觸發器)

mysqldump --skip-triggers dbname1 -u root -p > dbname.sql

 

把匯出的資料匯入到資料庫

mysql -u root -p
use dbname;
source dbname.sql

 

總結一下:

-d 結構(--no-data:不匯出任何資料,只匯出資料庫表結構)

-t 資料(--no-create-info:只匯出資料,而不新增CREATE TABLE 語句)

-n (--no-create-db:只匯出資料,而不新增CREATE DATABASE 語句)

-R (--routines:匯出儲存過程以及自定義函式)

-E (--events:匯出事件)

--triggers (預設匯出觸發器,使用--skip-triggers遮蔽匯出)

-B (--databases:匯出資料庫列表,單個庫時可省略)

--tables 表列表(單個表時可省略)

①同時匯出結構以及資料時可同時省略-d和-t
②同時 不 匯出結構和資料可使用-ntd
③只匯出儲存過程和函式可使用-R -ntd
④匯出所有(結構&資料&儲存過程&函式&事件&觸發器)使用-R -E(相當於①,省略了-d -t;觸發器預設匯出)
⑤只匯出結構&函式&事件&觸發器使用 -R -E -d