Ошибки MySQL 8

Дмитрий Корнев
19 января, 05:33

С переходом на MySQL 8 некоторые сайты могут выдавать ошибки, в частности такое было замечено с сайтами на 1С-Битрикс.

Ошибка:

[Bitrix\Main\DB\ConnectionException] 
Mysql connect error [localhost, 127.0.0.1]: Server sent charset unknown to the client. Please, report to the developers (400)
/......./bitrix/modules/main/lib/db/mysqlconnection.php:50

Ещё была такая:

[Bitrix\Main\DB\ConnectionException] 
Mysql connect error [localhost, 127.0.0.1]: The server requested authentication method unknown to the client (400)
/......./bitrix/modules/main/lib/db/mysqlconnection.php:50
 

Для решения в настройки MySQL необходимо добавить:

[mysql]
default-character-set = utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

default_authentication_plugin = mysql_native_password

Перезапуск:

service mysql restart

2 комментария

Ал
Перенесли сайт на другой сервер где тоже MySQL 8 и в проверке системы стало выводить "Ошибка! Кодировка соединения с базой данных должна быть utf8, текущее значение: utf8mb3" никак не выходит исправить. Вот что ставил [mysql] default-character-set = utf8 [mysqld] sql-mode="" collation-server = utf8_unicode_ci character-set-server=utf8 innodb_flush_method = O_DIRECT innodb_flush_log_at_trx_commit = 2 transaction-isolation = READ-COMMITTED init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' не помогает
Надо убидиться, что в нужном файле вносишь изменения, что изменения в принципе оказывают хоть какое-то влияние. Ну и про перезапуск после внесения изменений не стоит забывать.