phpMyAdmin 匯入大檔案

本文參考 http://blog.yam.com/kojoson/article/20971641


當我們用phpMyAdmin匯出資料庫的內容後,
往往因為資料量極多,讓匯出的sql檔非常的大,
所以搬到新主機的時候就會因上傳的問題而傷腦筋...
解決的方法如下....
本文參考:http://www.stoj.club.tw/?p=165 ;
結痂空間http://skycab.pixnet.net/blog/post/26244004


[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檔就可以輕鬆匯入了!

留言

這個網誌中的熱門文章

網路筆記 File Upload on PHP Server in Android

LA流浪記

杜拜