mysqldump使用筆記

mysqldump備份簡述mysql

mysqldump可產生兩種類型的輸出文件,取決因而否選用 --tab=dir_name選項。linux

1.不使用 --tab=dir_name選項,mysqldump產生的數據文件是純文本的SQL文件,如CREATE(數據庫、表、存儲路徑等)語句和INSERT(記錄)語句組成。輸出結果以一個文件保存,可用mysql命令去恢復備份文件。sql

2.使用 --tab=dir_name選項,mysqldump對於每個須要備份的數據表產生兩個輸出文件:一個是帶分隔符的文本文件,備份的數據表中的每行存儲爲文本中的一行,以"表名.txt"保存;另外一個輸出文件爲數據表的CREATE TABLE語句,以"表名.sql"保存。數據庫

mysqldump語法和選項windows

在linux系統中,能夠使用 man mysqldump命令,或者,mysqldump -hlep命令查看相關選項的使用大數據

--all-databases表示備份系統中全部數據庫,使用 --databases參數以後,必須指定至少一個數據庫的名稱,多個數據庫名稱之間用空格隔開ui

【經常使用的選項】ip

1.--add-drop-table內存

這個選項講會在每個表的前面加上DROP TABLE IF EXISTS語句,這樣能夠保證導回MYSQL數據庫的時候不會出錯,由於每次導回的時候,都會首先檢查表是否存在,存在就刪除。table

2.--add-locks

這個選項會在INSERT語句中捆上一個LOCK TABLE和UNLOCK TABLE語句。這就防止在這些記錄被再次導入數據庫時其餘用戶對錶進行操做。

3.--tab

這個選項將會建立兩個文件,一個是帶分隔符的文本文件,備份的數據表中的每行存儲問文本中的一行,以"表名.txt"保存;另外一個輸出文件爲數據表的CREATE TABLE語句,以"表名.sql"保存。

4.--quick或者--opt

若是你未使用--quick或者--opt選項,那麼mysqldump將在轉儲結果以前把所有內容載入到內存中。這在你轉儲大數據量的數據庫時將會有些問題。該選項默認是打開的,但能夠使用--skip-opt關閉它。

5.--skip-comments

該選項能夠去掉導出文件中的註釋語句

6.--compact

該選項能夠只輸出最重要的語句,而不輸出註釋及刪除表語句等。

 

在windows下,能夠使用下面的語句導出全部的數據庫

mysqldump -h 主機名 -u 用戶名 -p --all-databases > C:\備份文件名.sql

mysqldump -u用戶名 -p --databases db1 db2 db3... > 備份文件名.sql

mysqldump -u用戶名 -p --databases db_name > db_name.sql(--databases 會生成CRATE DATABASE 和 USE 語句)

mysqldump -u用戶名 -p db_name > db_name.sql (不會生成CRATE DATABASE 和 USE 語句)

mysqldump -u用戶名 -p 數據庫名 表名1 表名2 表名3... > 備份文件名.sql

 

 

mysqldump -uroot -p -S /tmp/mysql3306.sock --databases db_name > db_name.sql

mysqldump -uroot -p -S /tmp/mysql3306.sock db_name > db_name.sql

相關文章
相關標籤/搜索