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

MySQL .sql 檔案匯入匯出完整操作手冊:命令列、大檔案突破、編碼避坑

     編輯:MySQL 綜合教學

.sql 檔案是 MySQL 邏輯備份與遷移的標準載體。本文系統整理從環境變數設定、命令列進入、資料庫/資料表/結構匯出,到匯入執行、大檔案限制突破的完整實操流程,並針對 Windows 環境常見編碼與路徑問題給出解決方案。

一、命令列環境準備(Windows)

  1. 桌面「我的電腦」右鍵 →「內容」→「進階」→「環境變數」
  2. 系統變數 Path 編輯,新增 ;C:\Program Files\MySQL\MySQL Server 5.x\bin(依實際安裝路徑調整)
  3. 開新 CMD 視窗驗證:mysql --version

二、命令列登入 MySQL

mysql -h hostname -u username -p
# 例:mysql -h localhost -u root -p
# 按 Enter 後輸入密碼(不回顯)

常用基礎指令:

指令說明
CREATE DATABASE dbname;建立資料庫
USE dbname;切換資料庫
SHOW DATABASES;列出所有資料庫
SHOW TABLES;列出當前庫所有表
DESCRIBE tablename;顯示表結構

三、匯出 .sql 檔案 (mysqldump)

在 CMD**(非 mysql 提示符)下執行:

1. 匯出整庫

mysqldump -h localhost -u root -p mydb > e:\mysql\mydb.sql

2. 匯出單表

mysqldump -h localhost -u root -p mydb mytable > e:\mysql\mytable.sql

3. 僅匯出結構(含 DROP TABLE)

mysqldump -h localhost -u root -p mydb --add-drop-table > e:\mysql\mydb_stru.sql

4. 常用進階參數

參數用途
--single-transactionInnoDB 熱備份,不鎖表
--master-data=2附帶 Binlog 位置註釋,利於從庫搭建
--routines --triggers --events包含存儲過程/觸發器/事件
--hex-blob二進制欄位十六進制導出
--no-data僅導出結構
--where="id > 1000"條件導出部分資料

四、匯入 .sql 檔案

  1. 先建立目標資料庫(若不存在):
    mysql -h localhost -u root -p -e "CREATE DATABASE mydb2;"
  2. 執行匯入:
    mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql
  3. 輸入密碼等待完成。大檔案建議在 mysql 互動模式下用 SOURCE 指令,避免 Shell 重導向緩衝區問題:
    mysql> USE mydb2; SOURCE e:/mysql/mydb2.sql;

五、突破 2MB 匯入限制(phpMyAdmin / PHP 環境)

若透過 phpMyAdmin 或 PHP 腳本匯入,受限於 php.ini 三項設定:

memory_limit = 128M
upload_max_filesize = 2M   ← 關鍵瓶頸
post_max_size = 8M

修改方案

upload_max_filesize = 200M
post_max_size = 200M
memory_limit = 256M

修改後重啟 Apache/php-fpm。若無法改 php.ini,改用命令列 mysql 或 SOURCE 指令繞過 PHP 限制。

六、編碼與路徑避坑指南

  • 編碼一致性:匯出/匯入/資料庫/連接字串編碼必須一致(建議全鏈路 utf8mb4)。匯出時可加 --default-character-set=utf8mb4。
  • Windows 路徑:SOURCE 指令建議用正斜線 e:/mysql/file.sql,避免反斜線轉義問題。
  • BOM 頭:用記事本儲存 .sql 時選「UTF-8 無 BOM」,防止匯入報語法錯誤。

七、總結

掌握 mysqldump 匯出與 mysql/SOURCE 匯入雙軌操作,配合參數微調與編碼管控,即可應對從開發測試到生產遷移的各類場景。大檔案場景優先命令列,繞過 Web 層限制更穩健。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved