MySQL 如何修改字符集 utf8 改為 utf8mb4


在實行sql server 向 mysql 遷移數據時,報錯:

Incorrect string value: '\xF0\x9F\x98\x8A' 

原因是mysql 采用的是 utf8 的字符集,而該字符集最多占用三個字節,而一些 表情 需要占用 4個字節,所以需要將 utf8 改成 utf8mb4。

原始配置為:

#mysql 5.5 新增參數 
character_set_server=utf8    
collation_server=utf8_bin

我將 character_set_server=utf8 改為:character_set_server=utf8mb4,重啟mysql 卻報錯:

發生系統錯誤 1067 進程意外終止

但是查看錯誤日志,卻沒有顯示是什么錯誤信息。又倒騰了一會兒,想到是不是 collation_server 也要修改成 utf8mb4_bin,測試的結果果然如此。

所以要注意在將 MySQL字符集 utf8 改為 utf8mb4 時,一定要注意 collation_server 也要同時修改

干脆將 default-character-set=utf8mb4 也改成了算了。

最后的字符配置如下:

[mysql]
default-character-set=utf8mb4
init_connect='set names utf8mb4'

[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_bin

修改之后,啟動成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM