借助于 mysqldump 命令可以進行資料庫的備份,
用法: mysqldump [OPTIONS] database [tables]
或:mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
或:mysqldump [OPTIONS] --all-databases [OPTIONS]
OPTIONS:
OPTION | 默認 | 描述 |
---|---|---|
-A, --all-databases | FALSE | 備份所有資料庫 |
-B, --databases | FALSE | 備份指定資料庫 |
-n, --no-create-db | FALSE | 不生成建庫陳述句 |
-t, --no-create-info | FALSE | 不備份建表結果 |
-d, --no-data | FALSE | 不備份表資料 |
-c, --complete-insert | FALSE | INSERT 陳述句中加入列名 |
--no-autocommit | FALSE | 使用 autocommit/commit 陳述句包圍表 |
--add-drop-database | FALSE | 創建資料庫之前增加洗掉操作 DROP DATABASE |
--add-drop-table | TRUE | 創建表之前增加洗掉操作 DROP TABLE,使用 --skip-add-drop-table 禁用 |
--add-locks | TRUE | 執行 INSERT 陳述句時加鎖,使用 --skip-add-locks 禁用 |
--default-character-set | FALSE | 指定字符集 |
-e, --extended-insert | TRUE | INSERT 陳述句中批量插入,使用 --skip-extended-insert 禁用 |
--ignore-table=name | FALSE | 忽略指定的表,必須加上資料庫名,比如 --ignore-table=database.table |
-l, --lock-tables | TRUE | 用讀鎖鎖定表,使用 --skip-lock-tables 禁用 |
-r, --result-file=name | FALSE | 輸入備份內容到檔案 |
--single-transaction | FALSE | 在事務中進行備份,減少鎖表 |
1、備份所有資料庫
mysqldump -uroot -p -A -r result.sql
2、備份指定資料庫
mysqldump -uroot -p --databases db1 db2 -r result.sql
3、備份某個表的資料
mysqldump -uroot -p --databases db1 --tables table1 -r result.sql
注:table1 是在 db1 中的表
4、只備份建庫陳述句和表結構
借助 -d 過濾掉表資料
mysqldump -uroot -p --databases db1 db2 -d -r result.sql
5、只匯出表資料,防止列順序不一致,在 INSERT 陳述句中加入列名
借助 -n - t 去掉建庫陳述句和建表陳述句,使用 -c 在 INSERT 陳述句中加入列名
mysqldump -uroot -p --databases db1 db2 -n -t -c -r result.sql
座右銘:不要因為知識簡單就忽略,不積跬步無以至千里,
著作權宣告:自由轉載-非商用-非衍生-保持署名,
本作品采用知識共享署名 4.0 國際許可協議進行許可,
----------------------------------------------------------------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/551858.html
標籤:其他
上一篇:如何計算真實的資料庫成本
下一篇:返回列表