访问被拒绝使用yii连接到mysql

时间:2011-10-07 17:21:34

标签: php mysql yii mamp

尝试使用Yii连接到我的数据库时出现此错误

我确定密码和权限是正确的。我如何在这里追查问题?

我正在运行MAMP和最新的Yii。

CDbException

CDbConnection failed to open the DB connection: SQLSTATE[28000] [1045] Access denied for user 'yii'@'localhost' (using password: YES)

/Users/user/Dropbox/localhost/yii/framework/gii/generators/model/ModelCode.php(54)

42         ));
43     }
44 
45     public function requiredTemplates()
46     {
47         return array(
48             'model.php',
49         );
50     }
51 
52     public function init()
53     {
54         if(Yii::app()->db===null)
55             throw new CHttpException(500,'An active "db" connection is required to run this generator.');
56         $this->tablePrefix=Yii::app()->db->tablePrefix;
57         parent::init();
58     }
59 
60     public function prepare()
61     {
62         if(($pos=strrpos($this->tableName,'.'))!==false)
63         {
64             $schema=substr($this->tableName,0,$pos);
65             $tableName=substr($this->tableName,$pos+1);
66         }

7 个答案:

答案 0 :(得分:4)

在文件/protected/config/main.php中查找“components”块并根据需要进行更新:

'components'=>array(
    'db'=>array(
        'connectionString' => 'mysql:host=HOSTNAME;dbname=DBNAME',
        'emulatePrepare' => true,
        'username' => 'MYSQL_USER',
        'password' => 'MYSQL_PASS',
    ...

(将UC值更改为您的设置)。并阅读these pages

答案 1 :(得分:1)

确保您已在正确的配置文件中输入数据库信息(在/config中)。据推测,Gii正在使用main.php配置文件,因此请确保您没有在console.phptest.php中偶然在main.php上设置数据库凭据。

答案 2 :(得分:0)

如果您确定提供的凭据正确无误,则yii用户无权从localhost进行连接。 MySQL身份验证由用户名,密码和主机完成,因此读起来就像其中一个不正确。

答案 3 :(得分:0)

如果您在本地计算机上使用mamp,请确保您的用户名设置为“root”,密码在main.php文件中设置为“root”。默认设置是将密码设置为null,这将导致上述错误。

答案 4 :(得分:0)

确保你在console.php中更改凭据(yiic不会查找main.php,尽管它重复了相同的内容)

答案 5 :(得分:0)

我在这里有工作代码:

OS Ubuntu:

<?php

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=192.168.1.11;dbname=yiidemo',
'username' => 'yiidemo',
'password' => 'yiidemo!23',
'charset' => 'utf8',
];

为我工作: - )

答案 6 :(得分:0)

我有这个问题。 解决了它:
打开文件yii/config/db.php
并为phpmyadmin(密码和名称)添加数据。