CDbConnection 无法打开数据库连接:SQLSTATE[HY000] [1044] 拒绝用户访问

CDbConnection failed to open the DB connection: SQLSTATE[HY000] [1044] Access denied for user

首先我在互联网上搜索过,之前有人问过但没有解决方案。

我在服务器上部署了一个 yii 应用程序。它在本地机器上运行良好。但现在它给我错误 CDbConnection failed to open the DB connection: SQLSTATE[HY000] [1044] Access denied for user 我也在phpmyadmin中创建了一个用户,并给它分配了权限,如图

在我的database.php中我写了

'connectionString' => 'mysql:host=localhost;dbname=allspice_flk_embroidery',
    'emulatePrepare' => true,
    'username' => 'allspice_afnan',
    'password' => 'password',
    'charset' => 'utf8',

跟服务器有关吗?或者我缺少什么?

更好的解释会更有帮助。 我希望您已经有所管理,而不是说 Yii 来访问本地服务器中具有相同数据库名称的本地数据库。

但是,错误提示您正在尝试使用您不允许的用户名访问数据库。

首先从您的终端测试数据库连接:

mysql -h<hostname> -u<username> -p [Enter]

输入您的密码。

如果您遇到相同类型的错误,那么您肯定是 username/password 或您尝试连接的主机有问题。

两次检查主机名、用户名和密码并尝试连接。甚至,最好尝试使用您为特定用户分配的端口。

我不知道为什么会这样,但我找到了解决办法。
1.创建用户并分配权限。
2.现在创建一个数据库(不要创建表)
3. 将用户分配给该数据库。
4. 现在创建表。

如果您在创建用户之前创建了数据库,则删除数据库并按照上述过程进行操作。