MySQL 8将默认字符集更改为utf8mb4。但是有些客户端不知道这个字符集。因此,当服务器向客户端报告其默认字符集,而客户端不知道其含义时,就会抛出此错误。
该错误针对C++实现的MySQL Connector,因此它影响的不仅仅是PHP。
正确的解决方案是升级你的客户端,但与此同时我通过将服务器的字符集更改为utf8来使其正常工作,以与未升级的客户端兼容。我将以下配置添加到/etc/my.cnf并重新启动mysqld:
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
参考