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

MySQL 匯入 .sql 檔案大小限制破解:php.ini 三參數調整、命令列匯入、mysqldump 匯出完整流程

     編輯:MySQL 綜合教學

問題現象

透過 phpMyAdmin 或 PHP 腳本匯入 .sql 檔時,超過預設 2MB 限制失敗,錯誤訊息通常為 File size exceeds upload_max_filesize 或腳本逾時。

根本原因:PHP 三大限制參數

參數預設值影響範圍建議調大值
upload_max_filesize2M單檔上傳上限200M (視需求)
post_max_size8MPOST 總資料上限(含表單欄位)200M (需 ≥ upload_max_filesize)
memory_limit128M腳本記憶體上限(解析大 SQL 需較多記憶體)256M~512M

修改 php.ini 並重啟

; 找到並修改
upload_max_filesize = 200M
post_max_size = 200M
memory_limit = 256M

; 重啟生效
service httpd restart
# 或
systemctl restart php-fpm

繞過 PHP 限制:命令列直接匯入(推薦大檔案)

  1. 設定環境變數(選做):將 mysql/bin 加入 PATH。
  2. 建立目標資料庫:
    mysql -u root -p -e "CREATE DATABASE mydb2;"
  3. 匯入:
    mysql -u root -p mydb2 < e:\mysql\mydb2.sql
命令列匯入不受 PHP 上傳/記憶體限制,僅受限於 max_allowed_packet(預設 4MB/64MB,可在 my.cnf 調大至 1G)與伺服器記憶體。

完整匯出/匯入流程速查

操作指令範例
匯出整庫(結構+資料)mysqldump -h localhost -u root -p mydb > e:\mysql\mydb.sql
匯出單表mysqldump -h localhost -u root -p mydb mytable > e:\mysql\mytable.sql
匯出僅結構mysqldump -h localhost -u root -p --add-drop-table mydb > e:\mysql\mydb_stru.sql
匯出僅資料mysqldump -h localhost -u root -p -t mydb > e:\mysql\mydb_data.sql
壓縮匯出mysqldump -u root -p mydb | gzip > mydb_$(date +%F).sql.gz
命令列匯入mysql -u root -p target_db < backup.sql
MySQL 客戶端內部匯入USE target_db; SOURCE /path/backup.sql;

進階:分割大檔案匯入

若單檔過大(>1GB),建議用 split 分割或 sed/awk 按表分割,再依序匯入,避免單一交易過大導致回滾段暴漲。

原文標題:MySQL導入導出.sql文件
連結:https://www.cnblogs.com/cnkenny/archive/2009/04/22/1441297.html
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved