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