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

时间:2015-02-03 16:31:27

标签: mysql yii

首先我通过互联网搜索过它,之前已经被问到但是没有解决方案。

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

在我的database.php中,我写了

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

它与服务器有关吗?或者我错过的东西?

2 个答案:

答案 0 :(得分:1)

我不知道为什么会这样,但我找到了解决办法  1.创建用户并分配权限  2.现在创建一个数据库(不要创建表格)
 3.将用户分配到此数据库  4.现在创建表格
如果您在创建用户之前已创建数据库,则删除数据库并按照上述过程进行操作。

答案 1 :(得分:0)

更好的解释会更有帮助。 我希望你有点管理,你不是说Yii在本地服务器上使用相同的数据库名称访问本地数据库。

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

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

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

输入您的密码。

如果您遇到同样的错误,那么您肯定会遇到用户名/密码或尝试连接的主机的问题。

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