首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

解決WAMP環境MySQL大檔案匯入失敗:php.ini三大參數調優實戰

     編輯:MySQL 資料庫相關知識

問題現象

WAMP環境下使用phpMyAdmin匯入>2MB資料庫檔案失敗,介面仍顯示「最大限制:2,048 KB」。

根本原因

PHP預設上傳限制過於保守,需調整php.ini三大核心參數:

三大關鍵參數調整

參數預設值建議值說明
upload_max_filesize2M100M+單一檔案上傳大小上限
post_max_size8M100M+POST請求總資料大小(必須 ≥ upload_max_filesize)
memory_limit128M256M+腳本記憶體上限(匯入解析需足夠記憶體)

操作步驟

  1. 找到php.ini(WAMP:左鍵圖示 → PHP → php.ini)
  2. 搜尋並修改上述三參數
  3. 重啟所有服務(WAMP:左鍵 → Restart All Services)
  4. 驗證:phpMyAdmin匯入頁面雖仍顯示2MB,實際已可匯入大檔案

進階:超大檔案(>100MB)匯入策略

  • 命令列直接匯入:mysql -u root -p dbname < large_backup.sql(繞過PHP限制)
  • 分割檔案:使用split或專用工具拆分SQL檔
  • BigDump.php:分批次執行長SQL腳本的PHP工具
  • mysqldump --extended-insert=FALSE:產生單行INSERT便於分割

MySQL伺服器端限制檢查

# 檢查封包大小限制
SHOW VARIABLES LIKE 'max_allowed_packet';
# 預設 4MB/16MB/64MB (版本不同),大檔案需調大
SET GLOBAL max_allowed_packet = 1073741824; -- 1GB
# 永久生效需加入 my.cnf [mysqld] 區段

完整檢查清單

  1. ✅ PHP upload_max_filesize
  2. ✅ PHP post_max_size
  3. ✅ PHP memory_limit
  4. ✅ MySQL max_allowed_packet
  5. ✅ phpMyAdmin $cfg['ExecTimeLimit'](執行時間限制)
  6. ✅ 瀏覽器/Proxy上傳限制(Nginx client_max_body_size、Apache LimitRequestBody)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved