2011-10-07 73 views
2

當我試圖連接到我的數據庫Yii時出現此錯誤訪問被拒絕連接到mysql與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   } 
+0

您要麼使用發出請求的主機發送錯誤的用戶名,要麼使用錯誤的密碼。 (MySQL用戶/密碼對可以是主機特定的)... – ircmaxell

+0

你的db連接信息不正確。檢查你的配置關於數據庫信息。 – RusAlex

+0

你可以在myapp/protected/config/main.php文件中的db連接配置數組中顯示代碼嗎? Plus顯示'mysql>的輸出SELECT用戶,主機,密碼FROM mysql.user;'? –

回答

0

如果您確信所提供的憑證是正確的,那麼yii用戶必須無權從localhost連接。 MySQL身份驗證是通過用戶名,密碼和主機完成的,所以它讀起來就像其中一個不正確。

+0

我如何在Yii中追蹤這些情況。我已經在MAMP中建立了大量的數據庫連接,沒有任何問題。 – ian

4

在文件/protected/config/main.php尋找「部件」塊並根據需要進行更新:

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

(UC改變瓦爾斯您的設置)。並閱讀these pages

1

確保您在正確的配置文件(/config)中輸入了數據庫信息。據推測,Gii使用的是main.php配置文件,所以請確保您沒有在console.phptest.php中設置數據庫憑證,而不是在main.php上。

0

如果您在本地機器上使用mamp,請確保您的用戶名設置爲'root',並且密碼在main.php文件中設置爲'root'。默認設置是將密碼設置爲空,這會導致上面的錯誤。

0

確保您更改console.php憑據(的yiic不會找main.php,儘管它有重複相同的變薄)

0

在這裏,我的工作代碼:

操作系統Ubuntu的:

<?php 

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

:-)

0

工作對我來說我有這個問題。 解決方案:
打開文件yii/config/db.php
並添加您的數據爲phpmyadmin(密碼&名稱)。