Проект не может подключиться к AWS RDS после обновления — SQLSTATE[HY000] [2054] Сервер запросил метод аутентификации, нMySql

Форум по Mysql
Ответить
Anonymous
 Проект не может подключиться к AWS RDS после обновления — SQLSTATE[HY000] [2054] Сервер запросил метод аутентификации, н

Сообщение Anonymous »

Хорошо, у меня есть база данных (и реплика чтения) на AWS RDS, и я получил предупреждение о том, что версию MySQL (8.0.34), на которой она установлена, необходимо обновить до июля, поэтому я решил сделать это.
Я обновил ее до 8.4.3, и с точки зрения базы данных все в порядке. Я все еще могу подключиться к нему через рабочую среду MySQL, но есть несколько связанных веб-приложений на основе PHP, которые также используют базу данных, и когда я пытаюсь загрузить их в браузер, я получаю следующее:
SQLSTATE[HY000] [2054] Сервер запросил метод аутентификации, неизвестный клиенту
Из того, что я уже нашел в Stack Overflow, похоже, что он, вероятно, пытается использовать аутентификацию caching_sha2_password. вместо mysql_native_password.
Я бы предпочел использовать mysql_native_password, потому что я почти уверен, что именно он использовался раньше, когда веб-приложения загружались правильно.
Я зашел в Ubuntu (22.04), чтобы попытаться найти файл MySQL my.cnf и добавить к нему следующее
[mysqld]
default-authentication-method= mysql_native_password
и на самом деле нашел три разных файла my.cnf и добавил их ко всем, а затем выполнил УДАЛЕНИЕ ПРИВИЛЕГИЙ из MySQL Workbench.
Это ничего не изменило.
Я проверил файлы конфигурации для веб-приложений и не вижу там ничего, что могло бы показаться немедленной помощи. (То есть нет ничего, что явно было бы «обновить это», и это могло бы решить проблему.)
Одно из приложений находится в Laravel, а в Zend есть устаревшее приложение, и ни одно из них не хочет подключаться к базе данных. (Та же ошибка, указанный выше метод аутентификации неизвестен.)
Есть ли у кого-нибудь совет, как это исправить? Я искренне не знаю, могу ли я это установить в AWS или это нужно изменить в каждом из PHP-проектов.
Я не использую NodeJS, поэтому закрытие вопроса и предложение мне просмотреть аналогичный вопрос не обязательно является лучшей помощью.
Кроме того, теперь я получаю (вместо этого) ошибку
SQLSTATE[HY000] [1129] Хост «host.ip.address» заблокирован из-за множества ошибок подключения; разблокируйте с помощью «mysqladmin flash-hosts», и когда я пытаюсь это сделать, я получаю ответ в Ubuntu о том, что он не может подключиться.
Пожалуйста, поймите, что я многого в этом не понимаю, но мне больше не у кого спросить. Указание на другую статью и слова «ответ здесь» мне не помогают.
Я уже пробовал использовать alter user для соответствующего пользователя в таблице mysql.users, убедившись, что для плагина установлено значение mysql_native_password.
Это ничего не изменило, и теперь у меня тоже происходит блокировка хостов.

Подробнее здесь: https://stackoverflow.com/questions/798 ... 4-the-serv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»