MySQL 8 zmienił domyślny zestaw znaków na utf8mb4. Ale niektórzy klienci nie znają tego zestawu znaków. Dlatego, gdy serwer zgłasza klientowi swój domyślny zestaw znaków, a klient nie wie, co oznacza serwer, zgłasza ten błąd.
Zobacz także https://bugs.mysql.com/bug.php?id=71606
Ten błąd dotyczy MySQL Connector/C++, więc wpływa nie tylko na PHP.
OK — udało mi się uruchomić, zmieniając zestaw znaków na utf8, aby był kompatybilny z nieuaktualnionymi klientami. Dodałem to do /etc/my.cnf i zrestartowałem mysqld:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
Znalazłem te ustawienia w odpowiedzi z 2010 roku:Zmienić domyślny zestaw znaków MySQL na UTF-8 w my.cnf?