餅乾工坊
[MySQL]大容量資料表匯入 - 可列印版本

+- 餅乾工坊 (http://ninja.s12.xrea.com/mybb)
+-- 版面: 電腦網路 (http://ninja.s12.xrea.com/mybb/forumdisplay.php?fid=2)
+--- 版面: 網頁相關 (http://ninja.s12.xrea.com/mybb/forumdisplay.php?fid=13)
+--- 主題: [MySQL]大容量資料表匯入 (/showthread.php?tid=481)



[MySQL]大容量資料表匯入 - NINJA - 01-13-2010

phpmyadmin限制了最大匯入檔案大小,其實是php.ini限制的。
我們可以通過修改php.ini來實現大容量SQL的匯入,
但通常虛擬主機不一定有權限修改php.ini。所以,這裡提供一個適合虛擬主機的方法。
主要原理是,匯出資料庫時,分兩步,第一步是匯出資料庫的結構;第二部匯出資料庫的資料。
匯入時也對應分兩步,第一步匯入結構;第二步通過php執行從sql文件寫入資料。
匯出:
第一步:通過phpmyadmin匯出,此時僅選擇匯出結構。通常結構會很小。
第二步:通過phpmyadmin匯出,此時僅選擇匯出數據,命名為data.sql。

匯入:
第一步:在虛擬主機的phpmyadmin上匯入結構sql;
第二步:將import_data.php通過ftp上傳到服務器,並將匯出的data.sql上傳到同目錄。
第三步:執行import_data.php。輸出結果執行queries:**說明成功。
因為此時php執行的是伺服器本身的sql文件,所以速度很快,比phpmyadmin匯入要快很多。