mysqldump工具有大量的選項,部分選項如下表:
選項/Option 作用/Action Performed
--add-drop-table
這個選項將會在每一個表的前面加上DROP TABLE IF EXISTS語句,這樣可以保證導回MySQL數(shù)據(jù)庫的時候不會出錯,因為每次導回的時候,都會首先檢查表是否存在,存在就刪除
--add-locks
這個選項會在INSERT語句中捆上一個LOCK TABLE和UNLOCK TABLE語句。這就防止在這些記錄被再次導入數(shù)據(jù)庫時其他用戶對表進行的操作
-c or - complete_insert
這個選項使得mysqldump命令給每一個產生INSERT語句加上列(field)的名字。當把數(shù)據(jù)導出導另外一個數(shù)據(jù)庫時這個選項很有用。
--delayed-insert 在INSERT命令中加入DELAY選項
-F or -flush-logs 使用這個選項,在執(zhí)行導出之前將會刷新MySQL服務器的log.
-f or -force 使用這個選項,即使有錯誤發(fā)生,仍然繼續(xù)導出
--full 這個選項把附加信息也加到CREATE TABLE的語句中
-l or -lock-tables 使用這個選項,導出表的時候服務器將會給表加鎖。
-t or -no-create- info
這個選項使的mysqldump命令不創(chuàng)建CREATE TABLE語句,這個選項在您只需要數(shù)據(jù)而不需要DDL(數(shù)據(jù)庫定義語句)時很方便。
-d or -no-data 這個選項使的mysqldump命令不創(chuàng)建INSERT語句。
在您只需要DDL語句時,可以使用這個選項。
--opt 此選項將打開所有會提高文件導出速度和創(chuàng)造一個可以更快導入的文件的選項。
-q or -quick 這個選項使得MySQL不會把整個導出的內容讀入內存再執(zhí)行導出,而是在讀到的時候就寫入導文件中。
-T path or -tab = path 這個選項將會創(chuàng)建兩個文件,一個文件包含DDL語句或者表創(chuàng)建語句,另一個文件包含數(shù)據(jù)。DDL文件被命名為table_name.sql,數(shù)據(jù)文件被命名為table_name.txt.路徑名是存放這兩個文件的目錄。目錄必須已經存在,并且命令的使用者有對文件的特權。
schema:模式
The set of statements, expressed in data definition language, that completely describe the structure of a data base.
一組以數(shù)據(jù)定義語言來表達的語句集,該語句集完整地描述了數(shù)據(jù)庫的結構。
SELECT INTO OUTFILE :
如果您覺得mysqldump工具不夠酷,就使用SELECT INTO OUTFILE吧, MySQL同樣提供一個跟LOAD DATA INFILE命令有相反作用的命令,這就是SELECT INTO OUTFILE 命令,這兩個命令有很多的相似之處。首先,它們有所有的選項幾乎相同,F(xiàn)在您需要完成前面用mysqldump完成的功能,可以依照下面的步驟進行操作:
1. 確保mysqld進程(服務)已經在運行
2. cd /usr/local/mysql
3. bin/mysqladmin ping ;// 如果這個句子通不過,可以用這個:mysqladmin -u root -p ping
mysqladmin ping用于檢測mysqld的狀態(tài),is alive說明正在運行,出錯則可能需要用戶名和密碼。
4. 啟動MySQL 監(jiān)聽程序.
5. bin/mysql –p Meet_A_Geek;// 進入mysql命令行,并且打開數(shù)據(jù)庫Meet_A_Geek,需要輸入密碼
6. 在命令行中,輸入一下命令:
SELECT * INTO OUTFILE '/home/mark/Orders.txt'
FIELDS
TERMINATED BY = ','
FROM Orders
WHERE Order_Date >= '2000-01-01'