我是靠谱客的博主 拼搏冰棍,最近开发中收集的这篇文章主要介绍mysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/sha,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1.场景:由于之前MySQL中一起使用utf8编码,最近由于emoji表情的原因,需要使用utf8mb4编码
操作如下:
修改配置文件/etc/my.cnf:
[client]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation_server=utf8mb4_unicode_ci
[mysql]
default-character-set=utf8mb4
2.错误信息:
修改配置文件成功后,重启动数据库,但是重启动成功后,登录时出现如下错误信息,并直接退出
[mysql@localhost data1]$ mysql -p -S mysqldata1/sock/mysql.sockmysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
3.参考资料:
https://dev.mysql.com/doc/refman/5.5/en/charset-configuration.html
https://github.com/brianmario/mysql2/issues/367
4.实施方法:
把配置文件/usr/share/mysql/charsets/Index.xml中的utf8编码改为utf8mb4即可,修改方法如下:[修改前:]
<charset name="utf8">
<family>Unicode</family>
<description>UTF-8 Unicode</description>
<alias>utf-8</alias>
<collation name="utf8_general_ci" id="33">
<flag>primary</flag>
<flag>compiled</flag>
</collation>
<collation name="utf8_bin" id="83">
<flag>binary</flag>
<flag>compiled</flag>
</collation>
</charset>
[修改后:]
<charset name="utf8mb4">
<family>Unicode</family>
<description>UTF-8 Unicode</description>
<alias>utf-8</alias>
<collation name="utf8_general_ci" id="33">
<flag>primary</flag>
<flag>compiled</flag>
</collation>
<collation name="utf8_bin" id="83">
<flag>binary</flag>
<flag>compiled</flag>
</collation>
</charset>
最后
以上就是拼搏冰棍为你收集整理的mysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/sha的全部内容,希望文章能够帮你解决mysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/sha所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复