若要轉儲單個數據庫,請將其命名爲命令行:
shell> mysqldump --databases test > dump.sql
在單數據庫情況下,允許省略--databases備選方案:
shell> mysqldump test > dump.sql
前面兩個命令的不同之處在於--databases,轉儲輸出不包含CREATE DATABASE或USE陳述。
這有幾個影響:
- 重新加載轉儲文件時,必須指定默認數據庫名稱,以便服務器知道要重新加載哪個數據庫。
- 爲了重新加載,您可以指定與原始名稱不同的數據庫名稱,這使您能夠將數據重新加載到不同的數據庫中。
- 如果要重新加載的數據庫不存在,則必須首先創建它。
- 因爲輸出將不包含CREATE DATABASE聲明,--add-drop-database選項沒有效果。如果你使用它,它不
- 會產生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