常用命令--資料庫備份--mysqdump

三思博客發表於2024-03-25

常用命令--資料庫備份--mysqdump

常用選項

mysqldump是MySQL資料庫的一個重要工具,用於建立資料庫的邏輯備份。以下是mysqldump的一些常用選項及其功能:

1. -u username 或 --user=username:指定連線MySQL伺服器的使用者名稱。

2. -p 或 --password: 提示輸入密碼。也可以直接跟在 -u 後面,如 -u root -pPassword(不推薦這種方式,因為密碼會在命令列歷史記錄中可見)。

3. -h hostname 或 --host=hostname:指定資料庫伺服器的主機名或IP地址。

4. -P port 或 --port=port_number:指定資料庫伺服器監聽的埠號。

5. -S socket 或 --socket=path_to_socket:指定Unix套接字檔案的路徑,用於本地連線。

6. --databases 或 -B:用於備份多個資料庫,後面跟資料庫列表。

7. -A 或 --all-databases:備份所有資料庫。

8. --single-transaction:在匯出資料前啟動一個事務,保證在匯出期間資料一致性(InnoDB引擎適用)。

9. --lock-all-tables 或 -l:鎖定所有表以確保資料一致性,但在大型資料庫中可能會影響效能。

10. --no-create-info:僅匯出資料,不包含建立表結構的SQL語句。

11. --no-data:僅匯出表結構,不包含資料。

12. --triggers:包含觸發器的定義。

13. --routines 或 -R:包含儲存過程和函式。

14. --events:包含事件排程器的事件定義。

15. --quick 或 --opt(預設啟用):最佳化mysqldump的速度和效率,包括幾個子選項,如--extended-insert、--add-drop-table等。

16. --master-data=[0|1|2]:記錄binlog的位置資訊,便於恢復後進行主從同步。

17. --skip-triggers:不匯出觸發器。

18. --compress 或 -C:透過壓縮協議傳送和接收資料。

19. --quote-names:引用所有的資料庫、表和列名。

20. --result-file=file_name 或 -r file_name:將輸出寫入指定檔案,而不是標準輸出。

21. --ignore-table=db_name.tbl_name:忽略特定資料庫中的某個表。

以上只是mysqldump部分常用選項,實際使用時請根據具體需求選擇合適引數。記得結合MySQL的安全最佳實踐,尤其是在生產環境中備份資料庫時,避免因操作不當導致的資料丟失或洩露。

mysqdump

mysqldump命令是mysql資料庫中備份工具,用於將MySQL伺服器中的資料庫以標準的sql語言的方式匯出,並儲存到檔案中。

語法
mysqldump(選項)


選項
--add-drop-table:在每個建立資料庫表語句前新增刪除資料庫表的語句;
--add-locks:備份資料庫表時鎖定資料庫表;
--all-databases:備份MySQL伺服器上的所有資料庫;
--comments:新增註釋資訊;
--compact:壓縮模式,產生更少的輸出;
--complete-insert:輸出完成的插入語句;
--databases:指定要備份的資料庫;
--default-character-set:指定預設字符集;
--force:當出現錯誤時仍然繼續備份操作;
--host:指定要備份資料庫的伺服器;
--lock-tables:備份前,鎖定所有資料庫表;
--no-create-db:禁止生成建立資料庫語句;
--no-create-info:禁止生成建立資料庫庫表語句;
--password:連線MySQL伺服器的密碼;
--port:MySQL伺服器的埠號;
--user:連線MySQL伺服器的使用者名稱。



例項
匯出整個資料庫

mysqldump -u 使用者名稱 -p 資料庫名 > 匯出的檔名
mysqldump -u niaoge -p smgp_apps_niaoge > niaoge.sql
匯出一個表

mysqldump -u 使用者名稱 -p 資料庫名 表名> 匯出的檔名
mysqldump -u niaoge -p smgp_apps_niaoge users > niaoge_users.sql
匯出一個資料庫結構

mysqldump -u niaoge -p -d --add-drop-table smgp_apps_niaoge > niaoge_db.sql
-d沒有資料,--add-drop-table每個create語句之前增加一個drop table




相關文章