2017-07-03 66 views
0

我目前正在將網站從一臺服務器遷移到另一臺服務器。在這樣做的過程中,我設置了新的開發環境來幫助測試移動網站時可能遇到的任何問題。WordPress遷移 - 導入MySQL轉儲時遇到問題

我已經移動了一個網站,消除了所有問題。我在最近的兩個網站上遇到了一些問題。

我的工作流程一般爲: 1)出口 2)編輯通過查找到dev URL在崇高的文本/替換 3)導入到DB

導入一個MySQL轉儲第一次給了我一個錯誤,如 「錯誤在XXX行:未知命令YYY」 在一個這樣的情況下,這似乎是由某個未知字符的編碼問題(STX)引起的。

我可以通過使用MySQL標誌取消這樣的錯誤,例如: -default-character-set = latin1用於mysqldump,而不使用--default-character-set = utf8與導入。

這讓我在這個過程中更進一步,因爲事情似乎正在工作,除了沒有圖像顯示在媒體(只是default.png)爲拇指。我已驗證服務器上存在文件並檢查了權限。當點擊媒體中的圖像時,我可以複製/粘貼網址並在瀏覽器中正確顯示圖像。

數據未完全傳輸的另一個示例是用於頁面的模板未被保留。

在這一點上,我對如何正確導出/格式化/導入MySQL轉儲感到迷茫。我甚至嘗試過使用WordPress修復數據庫實用程序而不改變結果。

+0

有WordPress插件來處理網站遷移。一個很好的例子是https://wordpress.org/plugins/duplicator/上的Duplicator。它處理許多遷移的細節。 –

回答

0

O. Jones評論提到了一個名爲Duplicator的插件。根據我們的情況,我沒有利用這一點,所以我不能說是否會。如果這可以正常工作,我會設想最理想的解決方案。

我使用的解決方案很簡單,但對那些沒有訪問或不熟悉MySQL的人來說可能不適用。

的步驟是:通過「的mysqldump -u {用戶} -p {的databaseName}> {文件名

  1. 導出。SQL}
  2. 導入像往常一樣(沒有問題)
  3. 登錄到新的MySQL數據庫,其中進口完成,使用該數據庫,並運行以下查詢:SET請將option_value

    UPDATE wp_options =替換(請將option_value, '{oldURL}','{newURL}');

    UPDATE wp_posts SET guid = replace(guid,'{oldURL}','{newURL}');

    UPDATE wp_posts SET post_content = replace(post_content,'{oldURL}','{newURL}');

    UPDATE wp_postmeta SET meta_value = replace(meta_value,'{oldURL}','{newURL}');

這四個查詢可能需要爲 「http://oldwebsite.com」, 「http://www.oldwebsite.com」 每個變化中運行, 「https://oldwebsite.com」 和 「https://www.oldwebsite.com」。