O MySQL 8 alterou o charset padrão para utf8mb4. Mas alguns clientes não conhecem este charset. Portanto, quando o servidor relata seu conjunto de caracteres padrão para o cliente e o cliente não sabe o que o servidor significa, ele lança esse erro.
Veja também https://bugs.mysql.com/bug.php?id=71606
Esse bug é contra o MySQL Connector/C++, então está afetando mais do que apenas o PHP.
Ok, consegui funcionar alterando o conjunto de caracteres para utf8, para ser compatível com clientes não atualizados. Eu adicionei isso ao /etc/my.cnf e reiniciei o mysqld:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
Encontrei essas configurações em uma resposta de 2010:Alterar o conjunto de caracteres padrão do MySQL para UTF-8 em my.cnf?