mysqldump輸出的資料檔案有兩種形式:
- 如果帶了--tab
選項,mysqldump會為每張表建立兩個檔案,乙個是以tab間隔的文字檔案
包含表的內容資料,字尾是.txt
;乙個是表的建立語句,表示資料庫表的結構,.sql
檔案。兩個檔名與表名相同。
- 如果不帶--tab
選項,那麼mysqldump直接輸出.sql
檔案,裡面包含了create 和 insert 語句。
mysqldump -u root -p
--all
-database
> backup.sql;//備份所有的資料庫
mysqldump -u root -p
--database db1 db2 ...
> backup.sql;//備份指定的資料庫,但是backup.sql沒有create語句
mysqldump -u root -p db1 db2...
> backup.sql;//備份指定的資料庫,但是backup.sql有create語句
mysqldump -u root -p
--add-drop
-database db1 db2 > backup.sql;//備份指定的資料庫,backup.sql會新增drop databse db1這樣的語句;
mysqldump --tab=/tmp/dir;
匯出資料到指定目錄,每張表都有兩個檔案,假設表名為mytb,那麼,在/tmp/dir/目錄下,會有mytb.sql,mytb.txt兩個檔案。mytb.sql包含表的建立語句(create table mytb…),mytb.txt則是表的資料,資料中,列與列之前預設以tab間隔。
mysqldump還可以指定mytb.txt裡資料的展示格式:
--fields-terminated
-by=str//列與列之前以字串str為間隔
--fields-enclosed
-by=char//用char字元包圍列,如(a)(d)
--fields-optionally
-enclosed
-by=char//非數字列,以char字元包圍
--fields-escaped
-by=char//
--lines-terminated
-by=str//行以字串str結尾
上面的引數最好用hex進製進行表示,以避免混淆。或者用單引號包圍。
上面說了,--tab
選項會為每張資料表建立兩個檔案,乙個是.sql,乙個是.txt.那麼下面的命令是把表mytb恢復到資料庫:
mysql db1 < mytb.sql
;mysqlimport db1 mytb.sql
;
第一句是在資料庫db1建立表mytb;第二句是把mytb的資料導致資料庫中。
當然,如果我們使用mysql登入進入了,也可以用下面mysql的命令,其作用等效於上面:
mysql>use
db1;
mysql>load data infile 'mytb.txt' into table mytb;
如果你匯出資料是指定了格式,那麼恢復資料時,也需要指定格式;
mysqlimport --fileds-terminated
-by=, --fileds-enclosed
-by=
'"' db1 mytb.txt;
或者
mysql>use db1;
mysql>load data infile 'mytb.txt'
into table mytb
->fields terminated by
','->fields enclosed by
'"';
mysqldump --events//事件
mysqldump --routines//儲存過程與函式
mysqldump --triggers//觸發器。預設開啟
mysqldump --no-data;//只備份表結構
mysqldump --no-create
-info
//只備份表資料
有什麼用呢?當你進行資料庫版本公升級,或者你要換個機器部署資料庫的時候,你可能想要先測試一下,目標資料庫是不是支付我這個版本的資料,所以,建議你先從老資料庫dump表結構出來,然後匯入目標資料庫,這樣可以快速驗證是不是支援資料型別結構什麼的;驗證成功之後,再把資料匯入目標資料庫中。 Mysql命令mysqldump 備份資料庫
mysqldump命令用來備份資料庫。mysqldump命令在dos的 url file mysql bin mysql bin url 目錄下執行。1 匯出整個資料庫 匯出檔案預設是存在mysql bin目錄下 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 mysqldump u ...
mysqldump備份資料庫
a 匯出檔案 mysqldump remotedatabasename tablename1,tablename2,tablename3 u root ppassword c r localfilename b 匯出到本地資料庫 mysqldump remotedatabasename tablen...
利用mysqldump備份資料庫
mysqldump是sql級別的備份機制,它將資料表導成sql指令碼檔案,是非常常用的備份方法。下面整理了mysqldump的用法和幾個常用引數。基本用法 mysqldump u使用者名稱 p密碼 h主機 資料庫 表 檔名如果想匯出整個庫,不加表名即可。例 mysqldump uroot h10.1...