1045: Доступ запрещён для пользователя (using password: YES/NO)
MySQLЧто это значит?
Аутентификация не прошла из-за имени пользователя, пароля или хоста, с которого выполняется подключение; вход отклонён.
Почему возникает?
Неверный пароль, у пользователя нет привилегий с хоста, с которого он подключается (user@host), учётная запись не существует, несоответствие плагина аутентификации (caching_sha2_password и mysql_native_password) или устаревшие учётные данные в строке подключения.
Как исправить
Проверьте соответствие пользователя и хоста: SELECT user, host, plugin FROM mysql.user. Выдайте привилегии для правильного хоста (например, 'app_user'@'%'). Сбросьте пароль: ALTER USER 'app_user'@'host' IDENTIFIED BY 'new_password'; (ALTER USER/GRANT действуют немедленно; FLUSH PRIVILEGES нужен, только если таблицы привилегий изменялись напрямую через DML). Если вы видите 'using password: NO', клиент вообще не отправляет пароль. При несоответствии плагинов проверьте плагин аутентификации: в MySQL 8.4 плагин mysql_native_password по умолчанию отключён (загружается только с --mysql-native-password=ON); старые учётные записи с этим плагином и старые клиенты не могут подключиться. Переведите учётную запись с помощью ALTER USER ... IDENTIFIED WITH caching_sha2_password BY '...'; и обновите клиентский драйвер.