解決匯入 WordPress 數據庫出現 #1273 utf8mb4_unicode_520_ci 的錯誤

租個虛擬主機架設Wordpress真的一點都不難,有了wordpress網站後即開始部落格的寫作,文章一天天的上線,接下來就是網站的資料備份,很重要,挨踢路人甲使用最傳統的方式來匯出資料,因為較方便匯入另一台備援網站上,不過卻發生了”utf8mb4_unicode_520_ci” 的錯誤,原來是MySQL的不同版本造成的,筆者有個使用Synology NAS架設的 WordPress 備援機,其使用MySQL版本與虛擬主機不同,只要自己DIY加工後再匯入囉!

架一個網站除了網頁伺服器外,資料庫、搭配的語法(ASP.NET或PHP)…等的運用也是不可或缺的,PHP語法的免費資源相當眾多,往往是架站的應用天堂,一般租用虛擬主機,架站基本的Apache、PHP與MySQL等程式早已內建,去掉了一些繁瑣安裝過程,讓一般不懂程式語言的人也可以輕鬆快速的架站。不想花錢租虛擬主機,最便宜的方案就是你只要擁有一台Synology NAS即可輕鬆搞定。

 

網路蓬勃的發展,各式雲端的服務解決頻寬與架設技術的問題,只要花些費用即可完成擁有自己的網站,但真正的問題不是架站,而維護才是關鍵,這就是許多部落客選擇痞客邦原因。當然自己架站有好處,也有其缺點,即使是租虛擬主機,問題也是不少,不過災後復原是自行架站必須面對的課題,當虛擬組機掛掉或不穩定,想要更換或轉移,網站的備份是基本要求,備分Wordpress上的資料庫套件不少,不過筆者還是喜歡直接從資料庫上匯出,因為這樣可以方便保存,又可以隨意匯入自己架設的另一台Wordpress網站。

 

首先到筆者租的虛擬主機上將wordpress的資料庫進行匯出的動作,PhpMyAdmin是一套資料庫管理的工具,一般虛擬主機商都會提供,不了解請自行利用Google大神,進入選擇Wordpress的資料庫,進行匯出並選擇自訂方式。

 

筆者習慣會勾選「加入DROP TABLE/VIEW/PROCEDURE…..」選項,主要匯入時會先刪除原先的資料表,這樣匯入才不會有資料重複的問題。

 

捲動到最下按下〔執行〕即可將Wordpress的資料全部匯出。

 

連到備援將的Wordpress網站後台,再將之前匯出的SQL檔匯入。

 

結果出現如下錯誤,利用Google搜尋與研究了一下,原來是mysql版本的問題,MySQL 5.6 版本安裝 WordPress 4.6 及以上版本的時候,其默認的編碼整理方式為 utf8mb4_unicode_520_ci,但MySQL 5.5版不支援utf8mb4_unicode_520_ci,所以匯入產生了問題。果然仔細查看了版本,虛擬主機上的是MySQL 5.6,而Synology NAS架設的是MySQL 5.5,所以當然不認識utf8mb4_unicode_520_ci囉!

 

Synology NAS目前有支援MariaDB 5與MariaDB 10,不過自行安裝的Wodrpress似乎抓不到MariaDB 10,除非使用內建封裝好的的Wordpress套件才會使用MariaDB 10,所以山不轉路轉,Notepad++ 或者其他編輯器,將 utf8mb4_unicode_520_ci 字符替換為 utf8mb4_unicode_ci 即可。

 

再執行匯入即可成功,假如虛擬主機掛點,筆者的備援機匯入最新的備份資料,即可馬上接替。

 

延伸閱讀:

itwalker
itwalker

或許技術與功力已遠遠不及時下年輕人,但試著去畫一個圓,圓不圓沒關係,盡力就好,如果覺得文章不錯的話,請大家按個「讚」或「+1」,感謝您的支持與鼓勵!歡迎加入我的粉絲團 : https://www.facebook.com/itwalker ,更多關於挨踢路人甲的文章: https://walker-a.com

文章: 2730

1 則留言

  1. 群輝印象很早就搭配php5.6,你是MySQL路徑設錯了吧
    wordpress拖到web目錄下面,可以放很多個,更改好wp-config.php 及建立好phpmyadmin資料夾,就可以進入 ip:WORDPRESS NAME,應該就可以順利安裝完成了。

    wp-config.php

    /** MySQL hostname */
    define(‘DB_HOST’,’localhost:/run/mysqld/mysqld10.sock’);

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料