При попытке подключиться к моему MySQL экземпляру через PHPMyAdmin он выдает mysqli :: real_connect (): сервер запросил метод аутентификации, неизвестный клиенту [caching_sha2_password] и mysqli :: real_connect (): (HY000 / 2054): сервер запросил метод аутентификации, неизвестный клиенту
Теперь вот проблема:
- Мой метод аутентификации по умолчанию НЕ caching_sha2_password , но, как проверено в файле my.cnf. , он уже mysql_native_password
- Как предлагалось во многих других решениях, я также попробовал 'ALTER USER' myuser '@' rds-endpoint 'ИДЕНТИФИЦИРОВАНО С mysql_native_password BY' newpassword '; - По-прежнему нет результата. (Я думаю, потому что это уже mysql_native_password)
- Я также пытался создать нового пользователя, безрезультатно.
- Многие отмечали, что это проблема для MySQL 8.x, которая поддерживает caching_sha2_password как новая аутентификация. Я пробовал несколько комбинаций - MYSQL 7.x вплоть до 5.x как мои экземпляры RDS. Все они выдают одну и ту же ошибку
- Во многих местах упоминалось, что проблема исправляется с помощью PHP 7.x (точнее, PHP 7.4.x). Я тоже это пробовал - PHP 4.x до 7.x - Все та же ошибка.
- Оставляя AWS RDS вне изображения, я также пытался установить до нового user@localhost и подключения его через PhpMyAdmin - , даже в этом случае он выдает ту же ошибку.
- Также хотел бы отметить - проблема определенно не с RDS - просто подключение к БД с консоли через mysql -h (или localhost) -u -p отлично работает.
- PHP config. php:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '*<RDS ENDPOINT>*.amazonaws.com';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['user'] = '<username>';
$cfg['Servers'][$i]['password'] = '<password>';
$cfg['Servers'][$i]['verbose'] = '<username>';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';