Php 用户的SQLSTATE[HY000][1045]访问被拒绝';测试'@';本地主机';(使用密码:是)

Php 用户的SQLSTATE[HY000][1045]访问被拒绝';测试'@';本地主机';(使用密码:是),php,mysql,yii2,mariadb,digital-ocean,Php,Mysql,Yii2,Mariadb,Digital Ocean,我已经在Digitalocean droplet上安装了mariadb 10.2。我创造了test@localhost并授予用户对测试数据库的访问权限 通过测试用户,我可以登录mysql控制台 但当我试图从我的Yii2应用程序连接到数据库时,会出现使用密码拒绝访问的情况 我已经运行了mysql\u secure\u连接脚本来阻止来自外部的根访问 我的数据库配置- 数据库组件配置: return [ 'class' => 'yii\db\Connection', 'dsn'

我已经在Digitalocean droplet上安装了mariadb 10.2。我创造了test@localhost并授予用户对测试数据库的访问权限

通过测试用户,我可以登录mysql控制台

但当我试图从我的Yii2应用程序连接到数据库时,会出现使用密码拒绝访问的情况

我已经运行了mysql\u secure\u连接脚本来阻止来自外部的根访问

我的数据库配置-

数据库组件配置:

return [
    'class' => 'yii\db\Connection', 
    'dsn' => 'mysql:host=localhost;dbname=test', 
    'username' => 'test', 
    'password' => 'test@123', 
    'charset' => 'utf8',
];

有人知道吗。

尝试添加一个新的db用户,并将%用于任何主机。查看您是否仍然收到错误。尝试通过MySQL workbench连接到数据库,验证您的凭据

你拒绝远程访问了吗

'db' => [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost; dbname=somedb',
    'username' => 'root',
    'password' => 'passw0rd',
    'charset' => 'utf8',
]

使用localhost:3306而不是使用host=local

您必须在应用程序中发送错误的密码。您的数据库组件配置在哪里?将其添加到问题中?数据库组件配置-返回['class'=>'yii\db\Connection','dsn'=>'mysql:host=localhost;dbname=test','username'=>'test','password'=>'test@123“,”字符集“=>”utf8“,”;尝试将其添加到问题中,而不是添加到评论中。您是否能够解决您的问题?