MySQL 8 mengubah charset default menjadi utf8mb4. Tetapi beberapa klien tidak mengetahui rangkaian karakter ini. Oleh karena itu, ketika server melaporkan rangkaian karakter defaultnya ke klien, dan klien tidak tahu apa yang dimaksud server, itu akan memunculkan kesalahan ini.
Lihat juga https://bugs.mysql.com/bug.php?id=71606
Bug tersebut bertentangan dengan MySQL Connector/C++ sehingga memengaruhi lebih dari sekadar PHP.
Oke—saya berhasil dengan mengubah set karakter ke utf8, agar kompatibel dengan klien yang tidak ditingkatkan. Saya menambahkan ini ke /etc/my.cnf dan memulai kembali mysqld:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
Saya menemukan pengaturan ini dalam jawaban dari 2010:Ubah set karakter default MySQL ke UTF-8 di my.cnf?