2011-12-08 84 views
0

我們需要從另一個網站導入一個MySQL轉儲到我們的。我們一直在嘗試SimpleXML,XML DOM等,但是這個文件太大了,導致我們的服務器崩潰。我們查看了BigDump,但是這不處理XML導入。我們的XML文件中的每個標記都稱爲<字段名稱=「東西」> <table_something>標記,我以前從未見過 - 通常是描述性自定義標記。這可能是因爲我之前沒有做過太多的數據庫導入,將大型外部MySQL XML轉儲導入到我自己的數據庫中?

我們想要的是讓我們的PHP導入這個龐大的文件的一些方法。它需要每天晚上新鮮更新,所以我想放棄表格和導入新鮮,除非有辦法搜索差異,但我不知道如何。

任何人都可以幫忙嗎?什麼是實現這些結果的標準程序?

回答

0

移動數據庫通常是PHP之外完成,通過命令行腳本:

  1. 轉儲數據庫到文件
  2. 焦油文件
  3. FTP到新的服務器

然後在新服務器上

  1. 解壓文件
  2. 導入到MySQL

你有shell訪問?

如果您必須通過PHP來完成,您需要將轉儲分成許多小文件並一次導入一個。根據數據庫的大小,這可能需要很長時間。

進行轉儲時,通過不使用XML,剝離註釋等來最小化文件大小。

+0

感謝您的回答。 – MrKarl

+0

不幸的是,這是外部網站的「供稿」。這是一個物業租賃網站,我們是附屬成千上萬的物業,所以我們不控制轉儲的大小或風格。此外,我們沒有對該主機的shell訪問權限,並且必須保持我們的數據庫與該文件保持最新。 你的第二個想法是拆分轉儲是好的,但是在我們的服務器上需要額外的空間和時間,這不是一個好主意。另外,我們不知道這個數據庫是否每天更新並轉儲到XML,這意味着每次都會傳輸一次Gig。 我們將環顧四周,感謝您花時間:) – MrKarl