首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 資料庫匯入匯出完整指令指南

     編輯:MySQL 綜合教學

MySQL 資料庫匯入匯出完整指令指南

掌握 MySQL 資料庫的匯入與匯出操作,是資料庫管理員與開發人員的基本功。本文系統整理了命令列、圖形介面與直接複製檔案三種主要方式,並詳細說明各類進階參數的使用場景,助你靈活應對備份、遷移與還原需求。

一、命令列匯出資料庫

使用 mysqldump 工具是最常見、最通用的匯出方式。

基本步驟

  1. 進入 MySQL 安裝目錄下的 bin 資料夾,或將該路徑加入系統環境變數 PATH 中。
  2. 執行匯出指令:
    mysqldump -u 用戶名 -p 資料庫名 > 匯出檔案名.sql
    範例:mysqldump -u root -p news > news.sql(執行後需輸入密碼)
  3. 匯出單張表時,在資料庫名後加上表名即可。

匯出完成後,.sql 檔案會自動生成在 bin 目錄下。

二、命令列匯入資料庫

  1. 將 .sql 檔案放入 bin 目錄(或指定完整路徑)。
  2. 登入 MySQL:mysql -u 用戶名 -p
  3. 建立目標資料庫(若不存在):CREATE DATABASE 目標資料庫名;
  4. 切換至目標資料庫:USE 目標資料庫名;
  5. 執行匯入:SOURCE 匯入檔案名.sql;

三、進階備份與還原參數

需求指令範例說明
匯出所有資料庫mysqldump -u root -p -A > all_dbs.sql包含所有資料庫結構與資料
僅匯出資料(無結構)mysqldump -u root -p -t db_name > data_only.sql適用於資料遷移至相同結構的資料庫
匯出 Eventsmysqldump -u root -p -E db_name > events.sql需 MySQL 5.1+ 支援
匯出存儲過程與函數mysqldump -u root -p -R db_name > routines.sql預設不包含,需顯式指定 -R
直接匯入 SQL 檔mysql -u root -p < backup.sql非互動式匯入,適合腳本自動化

四、圖形介面工具:phpMyAdmin

適合不熟悉命令列或需視覺化操作的用戶。

匯出設定建議

  • 勾選「結構」與「資料」,不勾選「Drop DATABASE」與「Drop TABLE」。
  • 啟用「另存為檔案」,大量資料建議勾選「gzipped」壓縮(文字檔壓縮率可達 1:5 以上)。

匯入注意事項

  • phpMyAdmin 有上傳檔案大小限制(受 PHP upload_max_filesize 等參數影響)。
  • 大型 SQL 檔建議先用 gzip 壓縮:gzip backup.sql 產生 backup.sql.gz 再上傳。

五、直接複製資料目錄(實體備份)

適用於資料量極大、停機維護窗口允許的場景。

  1. 停止 MySQL 服務。
  2. 將資料目錄(如 /var/lib/mysql/)打包:tar czf mydb.tar.gz mydb/
  3. 於目標機器建立同名空資料庫。
  4. 解壓並複製檔案至對應資料目錄。
  5. 關鍵步驟:修正檔案擁有者與權限
    chown -R mysql:mysql /var/lib/mysql/mydb/
    chmod -R 660 /var/lib/mysql/mydb/

警告:不同作業系統、MySQL 版本之間直接複製檔案可能不相容,生產環境強烈建議優先使用 SQL 腳本方式。

六、最佳實踐總結

  • 日常備份:mysqldump + 定時任務 + 異地儲存。
  • 大量資料遷移:實體複製(Percona XtraBackup 等熱備工具更佳)。
  • 跨版本升級:必須使用 SQL 腳本匯入,不可直接複製檔案。
  • 匯入前務必建立空資料庫並指定字元集(建議 utf8mb4)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved