使用 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(通常位於 /etc/php.ini、/etc/php/7.x/apache2/php.ini 或 XAMPP/WAMP 安裝目錄下),調整以下三項設定,建議值大於目標 SQL 檔案大小:
| 參數 | 預設值 | 建議值(例:匯入 50MB) | 說明 |
|---|---|---|---|
upload_max_filesize | 2M | 64M | 單一檔案上傳上限 |
post_max_size | 8M | 64M | POST 資料總量上限,需 ≥ upload_max_filesize |
memory_limit | 128M | 256M | 腳本記憶體上限,建議 ≥ post_max_size |
關鍵原則:memory_limit > post_max_size > upload_max_filesize
php.ini:執行 php --ini 或建立 查看 Loaded Configuration File 路徑。; 取消註解。systemctl restart httpd / nginx -s reload / 重啟 Apache/Nginx/IIS。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
編輯 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 模組各有獨立設定檔)。中小型檔案(< 100MB)修改 php.ini 三參數最快;超大檔案或自動化部署請改用命令列 mysql 或 SOURCE 指令,穩定且無上限。