一、錯誤內容
今天用phpmyadmin連接mysql里面的某個數據庫時時遇到了下面的提示
:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
phpMyAdmin 試圖連接到 MySQL 服務器,但服務器拒絕連接。您應該檢查 config.inc.php 中的主機、用戶名和密碼,並且確定這些信息與 MySQL 服務器的管理員所給出的信息一致。
二、解決方法如下:
打開config.inc.php里看到里面有兩行就是問題的關鍵:
$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '';
這一般是phpmyadmin里的默認設置,用戶名為root,密碼為空,當本機建立mysql數據庫時可以直接連接。
所以一般第一次用phpmyadmin連接時都會成功,但后面為什么會提示拒絕連接呢?因為root密碼(或者別的用戶名)已經修改過了,有可以在是命令行里改的也有可以是在phpmyadmin里改的:
操作過程:
打開phpmyadmin——>用戶——>(root-localhost)-編輯權限
如果設置了使用密碼的話那么下面的登入密碼也需要同時修改,否則只能改配置文件config.inc.php是沒用的。由於默認密碼是空的,后來加上就連接拒絕了,現在再看到剛才那兩行代碼就是登入信息里的用戶名和密碼:
$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '';
如果留空那那么錯誤提示里就是(using password: NO),如果你把改過的密碼敲上去,那么就可以登錄成功了。