虛擬主機導(dǎo)入MySQL出現(xiàn)Unknown character set: ‘utf8mb4’
http://www.lmlblog.com/14.html
前幾天進行網(wǎng)站搬家,Mysql導(dǎo)入數(shù)據(jù)的時候,出現(xiàn)以下錯誤(沒有定義的編碼集utf8mb4):
SQL 查詢:
;
MySQL 返回:文檔
#1115 - Unknown character set: 'utf8mb4'
問題原因:.sql是從恒創(chuàng)主機導(dǎo)出,然后導(dǎo)入到西部數(shù)碼。因為恒創(chuàng)虛擬主機配備的MySQL數(shù)據(jù)庫版本是5.6。而西部數(shù)碼虛擬主機配備的MySQL數(shù)據(jù)庫版本是5.1,不支持utf8mb4字符集。所以出現(xiàn)錯誤,要將mysql數(shù)據(jù)庫升級到5.5以上版本才支持。
如果你用的是西部數(shù)碼的虛擬主機的,可以在虛擬主機管理--管理--(主機相關(guān)服務(wù)管理)更換機房--選擇mysql5.6版本,系統(tǒng)會自動切換mysql5.6服務(wù)器。(西部數(shù)碼目前很多服務(wù)都要收手續(xù)費的,如機房更換要20元手續(xù)費,感覺有點坑吧)
在阿里虛擬主機通過控制面板的DMS工具導(dǎo)入MySQL出現(xiàn)也出現(xiàn)如下報錯(目前阿里云數(shù)據(jù)庫暫時不支持utf8mb4這個字符集):
執(zhí)行的SQL語句出錯:
錯誤信息:Unknown character set: 'utf8mb4'
目前大多數(shù)服務(wù)器數(shù)據(jù)庫版本都是5.1的,如果你用的是阿里虛擬主機,又的確需要使用utf8mb4字符集,可以購買使用MySQL 5.5以上版本的RDS服務(wù)。
另一個解決方法:使用記事本打開.sql文件,通過ctrl+h將該文件的中的CHARSET = utf8mb4全部替換成CHARSET = utf8,將COLLATE = utf8mb4_unicode_ci 全部替換為COLLATE = utf8_general_ci,然后重新導(dǎo)入測試,修改之前建議先對源文件做備份。(建議先將之前導(dǎo)入的部分?jǐn)?shù)據(jù)刪除,將數(shù)據(jù)庫清空再操作導(dǎo)入。)
說白了,虛擬主機導(dǎo)入MySQL數(shù)據(jù)出現(xiàn)以上報錯:unknown collation:utf8mb4_unicode_ci,就是mysql版本高低造成的。更多方法歡迎交流分享。
PS:目前多數(shù)服務(wù)器的數(shù)據(jù)庫mysql5.6可以兼容mysql5.1的,導(dǎo)入一般不會有問題。但版本5.1遷移(導(dǎo)入)到其他版本5.6可能會出錯,建議嘗試升級更高版本的數(shù)據(jù)庫。
MySQL 虛擬化
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。