藉助於 mysqldump 命令可以進行資料庫的備份。 用法: mysqldump [OPTIONS] database [tables] 或:mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] 或:mysqldump [OPTION ...
藉助於 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 國際許可協議進行許可。
----------------------------------------------------------------------