При попытки подключения к 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',
];
Вообще зачем нужна такая ошибка и как это все победить?
В восьмой версии 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/ можете почитать здесь, тут все предельно ясно объясняют.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пользователи на сервер загружают документы, другие пользователи их скачивают по прямым ссылкамФайл должен быть вскоре после загрузки проверен...