一、错误内容
今天用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),如果你把改过的密码敲上去,那么就可以登录成功了。