搜索
SR數位設計 ECSHOP RWD響應式技術開發 Wordpress 使用教程 WP搬家時SQL資料庫過大無法匯入MySQL時解決方法 ...
byadmin 發表於 2015-3-12 12:19:39 , 1278人已閱讀 , 0人回應
無論是Wordpress或是其他CMS系統或是任何使用Mysql的動態型網站 , 應該經常會遇到搬家時發現 , 當我們用phpMyAdmin匯出資料庫檔案 .sql 後,往往因為資料量極多,讓匯出的sql檔非常的大,造成無法匯入至下一個主機環境中 !
下面提供三個解決方法 ( 以下方法蒐集至網路 - 個人最常使用第三種方法 )

[1]: 使用BigDump這個第三方服務來協助匯入超大型.sql,(這一種我沒試做)
       首先到這裡進入BigDump的官方網頁,下載最新版本的BigDump
       解壓縮後會得到一支bigdump.php的檔案, 將此檔案稍微修改參數後上傳至你的網站,
       再用瀏覽器讀取它便可以進入BigDump功能頁面了。
       修改的內容如下:

$db_server = ‘MySql所在位置的主機IP‘ ;
$db_name = ‘資料庫名稱’;
$db_username = ‘該資料庫的owner帳號名稱’;
$db_password = ‘owner的密碼’;

$linespersession = 3000;
(每次寫入的資料數量,內定值是3000筆)
$delaypersession = 0;
(每次寫入資料的間隔時間,預設為0也就是無間隔,若你擔心主機負荷過重出現問題,則可以自訂間隔時間,例如1秒就是1000,5秒就是5000)
$db_connection_charset = ";
(指定資料庫的編碼方式,若不輸入則使用系統預設,以大部分WP的用戶來說,都是使用utf-8)

[2]: 第二種則是直接修改/etc/php.ini,(我有試用此方法,但上傳速度很慢。)
       打開php.ini後找到以下幾行,修改的內容如下:

440行  max_execution_time = 600 (這裡可用預設或自行修改)
449行  max_input_time = 600 (這裡可用預設或自行修改)
457行  memory_limit = 128M (這裡可用預設或自行修改)
729行  post_max_size = 110M (改成希望可上傳的容量)
878行  upload_max_filesize = 100M (改成改成希望可上傳的容量)


這三個數值的大小,必須是 memory_limit > post_max_size > upload_max_filesize
修改後存檔,重新restart Apache
即可回去phpmyadmin的介面上傳大型的sql檔了!

[3]: 第三種,修改phpMyAdmin資料夾中的config.inc.php檔。( 我最後採用這一個方法, 若無權限設此檔案時 , 可聯繫主機商協助設定即可 )
       打開後找到下列兩行或自行加入:

          $cfg['UploadDir'] = 'ImportSQLFile';  ←上傳資料夾的名稱
          $cfg['SaveDir'] = 'ExportSQLFile';       ←匯出資料夾的名稱

然後在phpmyadmin中建立ImportSQLFile與ExportSQLFile資料夾,
一個用來上傳大容量的sql檔,一個用來匯出sql檔。
把需要匯入的大容量sql檔以winscp上傳到ImportSQLFile資料夾中,
再回到phpmyadmin載入介面,
就會發現在載入檔案的地方多出web server upload directory的功能。
此時僅需要選擇剛剛傳進去的SQL檔就可以輕鬆匯入了!
至於遇到以下超時訊息:
  1. Fatal error: Maximum execution time of 30 seconds exceeded
複製代碼
請將 php.ini 中
  1. max_execution_time = 30
複製代碼
以及 phpMyAdmin/config.inc.php 或者 phpMyAdmin/libraries/config.default.php
  1. $cfg['ExecTimeLimit']           = 300;
複製代碼
數值調大即可 , 至於要增加多少請依據需求設置即可 .


mysql-export-import.jpg



Traffic Exchange Site
您需要登錄後才可以回帖 登錄 | 立即註冊

作者資訊

文章分類

SR數位設計工作室

  • 服務專線:03-3555-069


ECSHOP響應式技術開發|接案說明|線上洽詢|隱私權政策|SR數位設計(CMS)

信箱:service@uniflow.com.tw 連絡電話03-3555-069 (時間AM10:00~PM7:30)

, Processed in 0.409509 second(s), 39 queries , Gzip On.

Copyright © 2011-2014 Template By SR網頁設計清新部落風格

Core - DZ2.5 GMT+8, 2017-1-24 15:00

回頂部