首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

MySQL 資料庫結構與資料匯出入完整指南 (mysqldump)

     編輯:PHP 相關知識

前言

mysqldump 是 MySQL 官方備份工具,可匯出結構、資料或兩者兼備,支援多種格式與過濾選項。

基本語法

mysqldump [選項] 資料庫名稱 [資料表...]

未指定資料表則匯出整個資料庫。

常用選項詳細說明

選項說明
--add-locks每個表匯出前加 LOCK TABLES,後加 UNLOCK TABLES
--add-drop-table每個 CREATE 前加 DROP TABLE
--allow-keywords允許關鍵字作為欄位名 (加表名前綴)
-c, --complete-insert使用完整 INSERT 語法 (含欄位名)
-C, --compress客戶端與伺服器均支援壓縮時啟用
--delayed使用 INSERT DELAYED
-e, --extended-insert多行 INSERT 語法 (更緊湊、更快)
-F, --flush-logs匯出前 flush 伺服器日誌
-f, --force遇 SQL 錯誤繼續執行
-h, --host指定遠端主機 (預設 localhost)
-l, --lock-tables匯出前鎖定所有表 (讀鎖)
-t, --no-create-info不輸出 CREATE TABLE (僅資料)
-d, --no-data不輸出資料 (僅結構)
--opt等同 --quick --add-drop-table --add-locks --extended-insert --lock-tables (推薦預設)
-p, --password指定密碼 (可省略值互動輸入)
-P, --port指定 TCP 連接埠
-q, --quick不緩衝查詢,直接輸出 stdout
-u, --user指定連線使用者
-v, --verbose詳細模式
-w, --where僅匯出符合條件的記錄 (需引號)

常見操作範例

# 完整備份 (含結構與資料)
mysqldump --opt db_name > backup.sql

# 僅備份結構
mysqldump --no-data db_name > schema.sql

# 僅備份資料
mysqldump --no-create-info db_name > data.sql

# 遠端備份並直接導入另一台伺服器
mysqldump --opt db_name | mysql --host=remote_host -C db_name

# 匯入備份檔
mysqladmin create target_db
mysql target_db < backup.sql

注意事項

  • 大型資料庫建議搭配 --quick 避免記憶體耗盡。
  • 跨版本匯入可能需手動調整 SQL 相容性。
  • 定期驗證備份檔可正常還原。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved