mysqldump備份資料

2021-07-27 11:51:55 字數 2413 閱讀 4920

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...