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

phpMyAdmin 無法匯入大檔案解決方案:分離結構與資料 + 專用腳本

     編輯:MySQL 資料庫相關知識

核心策略

將匯出/匯入拆分為結構與資料兩階段。結構檔小可直接用 phpMyAdmin;資料檔大改用命令列或專用 PHP 腳本匯入。


第一階段:匯出

1. 匯出結構(僅結構)

  1. 進入 phpMyAdmin,點選資料庫名稱
  2. 點擊「匯出」標籤
  3. 取消勾選 Data(資料),僅保留 Structure(結構)
  4. 點擊「執行」下載 db_structure.sql(通常 < 2MB)

phpMyAdmin 僅匯出結構

2. 匯出資料(僅資料)

  1. 同樣進入「匯出」
  2. 取消勾選 Structure,勾選 Data
  3. 下載 db_data.sql(可能極大,請耐心等待)

phpMyAdmin 僅匯出資料


第二階段:匯入

1. 匯入結構(phpMyAdmin 直接執行)

  1. 建立新資料庫或選擇目標資料庫
  2. 點擊「匯入」,選擇 db_structure.sql
  3. 點擊「執行」,秒級完成

phpMyAdmin 匯入結構

2. 匯入資料(使用專用 import.php 腳本)

下載附件 import.zip,解壓縮後編輯 import.php 前 4 行設定資料庫連線:

<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'password';
$db_name = 'target_db';
  1. 將 db_data.sql 解壓縮並更名為 db.sql
  2. 將 import.php 與 db.sql 上傳至網站根目錄
  3. 瀏覽器訪問 https://your-domain/import.php
  4. 畫面顯示成功訊息即完成(即使 100MB+ 也不會逾時)
⚠ 安全警示: 匯入完成後立即刪除 import.php 與 db.sql,避免洩露資料庫結構與資料。

替代方案:命令列匯入(最快、最穩)

# 解壓縮後直接管線導入
gunzip -c db_data.sql.gz | mysql -u root -p target_db

# 或分步
mysql -u root -p target_db < db_data.sql
  • 無 PHP 記憶體/執行時間限制
  • 支援斷點續傳(配合 pv 監控進度)
  • 生產環境首選方式

補充工具推薦

  • Empire Backup King (帝國備份王):PHP 版分卷備份/還原工具,支援大檔案、定時備份、FTP 上傳
  • mysqldump --single-transaction --quick:熱備份不鎖表,配合 gzip 壓縮
  • Percona XtraBackup:實體熱備份,支援增量、並行、壓縮,企業級首選
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved