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

phpMyAdmin 匯入大型 SQL 檔案限制突破完整教學

     編輯:MySQL 資料庫相關知識

問題情境

使用 phpMyAdmin 匯入超過 2MB 的 SQL 檔案時,常遇到錯誤:You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit. 這是 PHP 預設上傳限制導致,非 MySQL 本身限制。

核心解決方案:修改 php.ini 三大參數

編輯 php.ini(通常位於 /etc/php.ini、/etc/php/7.x/apache2/php.ini 或 XAMPP/WAMP 安裝目錄下),調整以下三項設定,建議值大於目標 SQL 檔案大小:

參數預設值建議值(例:匯入 50MB)說明
upload_max_filesize2M64M單一檔案上傳上限
post_max_size8M64MPOST 資料總量上限,需 ≥ upload_max_filesize
memory_limit128M256M腳本記憶體上限,建議 ≥ post_max_size

關鍵原則:memory_limit > post_max_size > upload_max_filesize

操作步驟

  1. 尋找 php.ini:執行 php --ini 或建立 查看 Loaded Configuration File 路徑。
  2. 編輯三項參數,移除前方分號 ; 取消註解。
  3. 重啟 Web 服務:systemctl restart httpd / nginx -s reload / 重啟 Apache/Nginx/IIS。
  4. 重新整理 phpMyAdmin,上傳限制即更新。

進階替代方案(超大檔案建議)

方案一:命令列匯入(最穩定、無大小限制)

mysql -u root -p database_name < /path/to/large_file.sql

或登入 MySQL 後執行:

USE database_name;
SOURCE /path/to/large_file.sql;

方案二:壓縮後上傳

phpMyAdmin 支援 .gz、.bz2、.zip 格式,先壓縮 SQL 檔案再上傳可大幅減小體積:

gzip large_file.sql  # 產生 large_file.sql.gz

方案三:調整 phpMyAdmin 設定

編輯 config.inc.php,增加:

$cfg['UploadDir'] = '/var/lib/phpmyadmin/upload/';
$cfg['SaveDir'] = '/var/lib/phpmyadmin/save/';

將大檔案透過 FTP/SCP 上傳至 UploadDir,phpMyAdmin 介面即會出現「從伺服器上傳目錄選擇」選項。

常見誤區提醒

  • 只改 upload_max_filesize 而忽略 post_max_size,導致仍失敗。
  • 修改錯誤的 php.ini(CLI vs FPM/Apache 模組各有獨立設定檔)。
  • 未重啟 Web 服務導致設定不生效。

總結

中小型檔案(< 100MB)修改 php.ini 三參數最快;超大檔案或自動化部署請改用命令列 mysql 或 SOURCE 指令,穩定且無上限。

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