[轉]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