[PDOException]- SQLSTATE[HY000] [1045] 用户 'root'@'ip' 的访问被拒绝(使用密码:YES)

[PDOException]- SQLSTATE[HY000] [1045] Access denied for user 'root'@'ip' (using password: YES)

我正在尝试通过 ssh 连接到 AWS 以迁移一些文件。我使用以下命令成功连接:

ssh -i ~/Downloads/key.pem ec2-user@myuser

然后,我尝试运行以下内容:

php artisan migrate

我得到以下信息:

[PDOException]                                                               
  SQLSTATE[HY000] [1045] Access denied for user 'user'@'ip' (using password: YES)

什么会阻止我访问我的数据库以进行迁移?!

当您连接到 AWS 时,您将通过 SSH 连接到虚拟化 linux 服务器上的 unix shell 帐户。

在此虚拟服务器(或可能是另一台服务器)上,您是 运行 数据库应用程序的一个实例。此数据库应用程序也是 一个服务器。但是,它有自己的凭证系统。当您看到此错误消息时

[PDOException]
SQLSTATE[HY000] [1045] Access denied for user 'user'@'ip' (using password: YES)

这是PHP/Laravel告诉你

Hey, I tried to connect to the database with the credentials in my app/config/database.php file, but the server told me those credentials were invalid.

也就是说,您为“user”配置的密码与实际密码不匹配,或者“user”帐户未被授权访问数据库服务(MySQL?) 从 IP 地址 PHP 是 运行.

使用正确的数据库凭据,您的错误就会消失。使用命令行 mysql 程序来测试您的数据库凭据。

希望这足以让您 Google-ing 做正确的事! :)