匯入MySQL資料需要耐心

資料庫大小

之前網站搬家,小資料沒有什麼問題,下載壓縮檔,再用phpMyAdmin倒到新的資料庫就可以了。如果遇到大資料,通常上傳會很久 ,常常都會等到timeout,所以我對於大資料,都是採用切割的方式來做備份和匯入。

一個資料表,匯出成數個筆數相同的SQL.ZIP檔,再用phpMysqlAdmin一個一個倒回去。

通常匯入檔案的大小

一般來說,30MB以內的資料SQL.ZIP檔,我都會直接匯入,但是各平台限制不同,有的只能上傳50MB,更狠的只能上傳10MB。

遇到10MB的單檔限制,切檔就是必要的,而且可能還要切很多個檔案。

以一般來說,我都會10000筆資料,切一個檔案。

如果有CLI界面,我匯入過200MB的ZIP壓縮檔
200MB的SQL壓縮檔,解開大約在800MB左右,直接使用
mysql -u -p密碼 資料庫名稱 < 資料庫.sql
是沒有問題的。可以使用指令批次解決。

這次我匯入的單檔SQL備份大小

SQL.ZIP檔的匯入,這次壓縮檔大小是57MB,解開約220MB左右,上傳到整個解開,匯入完成,總共花了20分鐘。

20分鐘,大概都是失敗了,因為apache不會有這麼長的等待時間,所以可能會直接就timeout了。

現在正在匯入另一個資料檔,壓縮後大小約在82MB,解開約在310MB左右。應該會花個半小時吧!

結果是失敗了,什麼東西都沒有匯入,等了半個小時,白等了。最後,拆成2個壓縮檔,終於匯入成功。

按圖施工,不一定成功

因為每台伺服器的設定不同,所以不是每次都可以用單檔匯入。

如果有CLI指令界面,匯入不會受到apache的影響,成功的機率比較高,而且速度會比較快。

不過,也不是每個平台都有提供CLI,網站的備份與還原,還是要看各平台的狀況來決定。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *