MySQL數據庫最簡單的備份方法

導出表數據到一個文本文件的最簡單方法是使用select… into outfile語句直接將導出查詢結果導出到服務器主機上的文件。

使用SELECT… INTO OUTFILE語句導出數據

語句的語法結合了常規的SELECT INTO與OUTFILE filename 末尾。默認的輸出格式與LOAD DATA是一樣的,所以下面的語句導出 tutorials_tbl 表到C:tutorials.txt 并使用制表符分隔,換行結尾的文件:

mysql>?SELECT?*?FROM?tutorials_tbl? ????->?INTO?OUTFILE?'C:tutorials.txt';

可以利用選項來說明如何引號和分隔列,更改記錄輸出格式。 使用CRLF為結束行導出tutorial_tbl 為CSV格式表格,使用以下語句:

mysql>?SELECT?*?FROM?passwd?INTO?OUTFILE?'C:tutorials.txt' ????->?FIELDS?TERMINATED?BY?','?ENCLOSED?BY?'"' ????->?LINES?TERMINATED?BY?'rn';

SELECT… INTO OUTFILE具有以下屬性:

  • 輸出的文件是直接由MySQL服務器創建的,因此,文件名應指明想要的文件名,它會被寫到服務器主機上。還有就是語句類似于沒有LOCAL版本的LOAD DATA的本地版本。

  • 必須有MySQL的FILE權限來執行SELECT … INTO語句。
  • 輸出文件必須還不存在。 這防止MySQL弄錯文件很重要。
  • 應該有服務器主機或某種方式來檢索該主機上登錄帳戶的文件。否則,SELECT … INTO OUTFILE可能沒有任何值給出。
  • 在UNIX下,文件創建所有人都是可讀的,由MySQL服務器所擁有。這意味著,雖然能夠讀取該文件,可能無法將其刪除

導出表作為原始數據

mysqldump程序用于復制或備份表和數據庫。它可以寫入表輸出作為一個原始數據文件,或為一組重新創建表中的INSERT語句的記錄。

轉儲一個表作為一個數據文件,必須指定一個–tab 選項指定目錄,讓MySQL服務器寫入文件。

例如,從數據庫test中的tutorials_tbl表轉儲到一個文件在C:tmp目錄,可使用這樣的命令:

$?mysqldump?-u?root?-p?--no-create-info? ????????????--tab=c:tmp?TEST?tutorials_tbl password?******

推薦:mysql教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享