Ошибка mysql SQLSTATE[HY000] [2054]

167
18 мая 2019, 15:20

При попытки подключения к MySQL из PHP Yii2, да и просто из PHP методом PDO Происходит ошибка: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

Версии ПО:

$ uname -a 
Linux CentOS7VMware 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ mysql -V
mysql  Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL)

$ php-fpm -v
PHP 7.2.11 (fpm-fcgi) (built: Oct 10 2018 10:03:26)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.11, Copyright (c) 1999-2018, by Zend Technologies

$ nginx -v
nginx version: nginx/1.12.2

$ ./yii
This is Yii version 2.0.15.1.

Вот код из PHP:

$mysqlConnection = new PDO("mysql:host=localhost;dbname=yii2basic", "zrt", "Ah$%s74sDKGDH");

И конфиг Yii2:

<?php
return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2basic',
    'username' => 'zrt',
    'password' => 'Ah$%s74sDKGDH',
    'charset' => 'utf8',
    // Schema cache options (for production environment)
    //'enableSchemaCache' => true,
    //'schemaCacheDuration' => 60,
    //'schemaCache' => 'cache',
];

Вообще зачем нужна такая ошибка и как это все победить?

Answer 1

В восьмой версии mysql изменена система соединения с сервером. Насколько я знаю PHP еще не поддерживает новый плагин caching_sha2_password. Для работы вам нужно настроить файл конфигурации mysql, то есть изменить плагин аутентификации на старый.

...
[mysqld]
default-authentication-plugin=mysql_native_password
...

https://mysqlserverteam.com/upgrading-to-mysql-8-0-default-authentication-plugin-considerations/ можете почитать здесь, тут все предельно ясно объясняют.

READ ALSO
Как подключиться к PDO через константы?

Как подключиться к PDO через константы?

Как вписать константы для подключения?

95
Как удалить ссылки на php?

Как удалить ссылки на php?

Беру информацию с другого сайта таким макаром

122
Антивирус для файлов сайта

Антивирус для файлов сайта

Пользователи на сервер загружают документы, другие пользователи их скачивают по прямым ссылкамФайл должен быть вскоре после загрузки проверен...

152
Двойные сессии в wordpress

Двойные сессии в wordpress

Пишу плагинВ плагине на хук init вешаю функцию старта сессии

142