MySQL SQL 語法備份的實(shí)際操作步驟
此文章主要向大家介紹的是MySQL SQL 語法備份的是實(shí)際操作步驟,我們大家都知道MySQLSQL 語法在實(shí)際應(yīng)用中是經(jīng)常出現(xiàn)的,所以對MySQL SQL 語法進(jìn)行備份也是備受關(guān)注的。以下就是文章的主要內(nèi)容描述。
備份
BACKUP TABLE 語法其實(shí)和 mysqlhotcopy 的工作原理差不多,都是鎖表,然后拷貝數(shù)據(jù)文件。它能實(shí)現(xiàn)在線備份,但是效果不理想,因此不推薦使用。它只拷貝表結(jié)構(gòu)文件和數(shù)據(jù)文件,不同時拷貝索引文件,因此恢復(fù)時比較慢。
例子:
- BACK TABLE tbl_name TO '/tmp/db_name/';
注意,必須要有 FILE 權(quán)限才能執(zhí)行本SQL,并且目錄 /tmp/db_name/ 必須能被 mysqld 用戶可寫,導(dǎo)出的文件不能覆蓋已經(jīng)存在的文件,以避免安全問題。
SELECT INTO OUTFILE 則是把數(shù)據(jù)導(dǎo)出來成為普通的文本文件,可以自定義字段間隔的方式,方便處理這些數(shù)據(jù)。
例子:
- SELECT * INTO OUTFILE '/tmp/db_name/tbl_name.txt' FROM tbl_name;
注意,必須要有 FILE 權(quán)限才能執(zhí)行本MySQL SQL語法,并且文件 /tmp/db_name/tbl_name.txt 必須能被 mysqld 用戶可寫,導(dǎo)出的文件不能覆蓋已經(jīng)存在的文件,以避免安全問題。
3.2 恢復(fù)
用 BACKUP TABLE 方法備份出來的文件,可以運(yùn)行 RESTORE TABLE 語句來恢復(fù)數(shù)據(jù)表。
例子:
- RESTORE TABLE FROM '/tmp/db_name/';
權(quán)限要求類似上面所述。
用 SELECT INTO OUTFILE 方法備份出來的文件,可以運(yùn)行 LOAD DATA INFILE 語句來恢復(fù)數(shù)據(jù)表。
例子:
- LOAD DATA INFILE '/tmp/db_name/tbl_name.txt' INTO TABLE tbl_name;
權(quán)限要求類似上面所述。倒入數(shù)據(jù)之前,數(shù)據(jù)表要已經(jīng)存在才行。如果擔(dān)心數(shù)據(jù)會發(fā)生重復(fù),可以增加 REPLACE 關(guān)鍵字來替換已有記錄或者用 IGNORE 關(guān)鍵字來忽略他們。
原文標(biāo)題:MySQL SQL 語法備份
連接:http://www.cnblogs.com/kfarvid/archive/2009/11/12/1601587.html
【編輯推薦】