Home >Database >Mysql Tutorial >MySQL如何修改字符集utf8改为utf8mb4_MySQL

MySQL如何修改字符集utf8改为utf8mb4_MySQL

WBOY
WBOYOriginal
2016-05-30 17:11:191684browse

在实行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

 

 

修改之后,启动成功。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn