mysqldump 備份命令行簡介

 

若要轉儲單個數據庫,請將其命名爲命令行:

shell> mysqldump --databases test > dump.sql

在單數據庫情況下,允許省略--databases備選方案:

shell> mysqldump test > dump.sql

前面兩個命令的不同之處在於--databases,轉儲輸出不包含CREATE DATABASE或USE陳述

這有幾個影響:

  1. 重新加載轉儲文件時,必須指定默認數據庫名稱,以便服務器知道要重新加載哪個數據庫。
  2. 爲了重新加載,您可以指定與原始名稱不同的數據庫名稱,這使您能夠將數據重新加載到不同的數據庫中。
  3. 如果要重新加載的數據庫不存在,則必須首先創建它。
  4. 因爲輸出將不包含CREATE DATABASE聲明,--add-drop-database選項沒有效果。如果你使用它,它不
  5. 會產生DROP DATABASE聲明。

若要僅從數據庫轉儲特定表,請將它們命名爲數據庫名稱後面的命令行:

shell> mysqldump test t1 t3 t7 > dump.sql

如果要使轉儲文件在重新創建數據庫之前強制刪除每個數據
庫,請使用--add-drop-database也有選擇。在這種情況下,mysqldump寫DROP DATABASE語句在每個
CREATE DATABASE聲明。

 

幾個選項控制着mysqldump處理存儲程序(存儲過程和函數、觸發器和事件):

--events:轉儲事件計劃程序事件
--routines:轉儲存儲過程和函數
--triggers表的轉儲觸發器


--triggers選項在默認情況下啓用,以便在轉儲表時,它們會附帶它們所擁有的任何觸發器。

默認情況下,其他選項被禁用,必須顯式指定以轉儲相應的對象。

若要顯式禁用這些選項中的任何一個,請使用其跳過形式:--skip-events, --skip-routines,或--skip-triggers.

 

-no-data選項告訴mysqldump不轉儲表數據,導致轉儲文件只包含創建表的語句。

相反,--no-create-info選項告訴mysqldump不要CREATE語句,以便轉儲文件僅包含表數據。
例如,要將表定義和數據分別轉儲到test數據庫,使用以下命令:

shell> mysqldump --no-data test > dump-defs.sql
shell> mysqldump --no-create-info test > dump-data.sql

對於僅定義的轉儲,添加--routines和--events還包括存儲例程和事件定義的選項:
 

shell> mysqldump --no-data --routines --events test > dump-defs.sql

 

實驗:
#配置文件修改
secure_file_priv = 

#備份命令,執行完之後每個表創建兩個文件,一個時sql文件,存儲了表的創建語句,另一個時txt的文本文件,保存了數據

mysqldump --tab=C:\Users\實驗文件   mytest  -h 127.0.0.1 -uroot -p

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章