MySQL 8 ændrede standardtegnsættet til utf8mb4. Men nogle klienter kender ikke dette tegnsæt. Når serveren derfor rapporterer sit standardtegnsæt til klienten, og klienten ikke ved, hvad serveren betyder, kaster den denne fejl.
Se også https://bugs.mysql.com/bug.php?id=71606
Den fejl er imod MySQL Connector/C++, så den påvirker mere end blot PHP.
Okay – jeg fik det til at fungere ved at ændre tegnsættet til utf8, så det er kompatibelt med ikke-opgraderede klienter. Jeg tilføjede dette til /etc/my.cnf og genstartede mysqld:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
Jeg fandt disse indstillinger i et svar fra 2010:Ændre MySQL standardtegnsæt til UTF-8 i my.cnf?