MySQL 8は、デフォルトの文字セットをutf8mb4に変更しました。しかし、一部のクライアントはこの文字セットを知りません。したがって、サーバーがデフォルトの文字セットをクライアントに報告し、クライアントがサーバーの意味を知らない場合、このエラーがスローされます。
https://bugs.mysql.com/bug.php?id=71606も参照してください。
このバグはMySQLConnector/ C ++に対するものであるため、PHPだけでなく影響を及ぼしています。
わかりました。アップグレードされていないクライアントと互換性を持たせるために、文字セットをutf8に変更することで機能するようになりました。これを/etc/my.cnfに追加し、mysqldを再起動しました:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
2010年の回答でこれらの設定を見つけました: my.cnfでMySQLのデフォルトの文字セットをUTF-8に変更しますか?