下了最新版的phpmyadmin,装上后输入用户名root然后点登录,因为我在本地,所以root没有密码,结果老是报访问被拒绝的错误.
看了下权限的设置没什么问题呀,网上也没找到好的答案,与是根踪代码,原来在配置文件config.default.php里面有句:
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = false;
在libraries/common.inc.php的886行对他进行了验证,如果他是false的话,用户名如果是root用户,则密码不能为空,否则不进行验证,他默认情况下就是flase,把他改成true就行了.
我想这可能是他为了安全着想吧,让人一定设root密码,呵呵,不过我认为在测试的时候有点不方便,一般本地的root用户都是空的.
其实他可以把提示语句改下,说是你的root密码为空,以当前的安全级别不允许登录,可以到XXX地方把设置改过来,这样可能会明白些,单一个访问被拒绝太难找原因了.
方法二
./phpmyadmin 进去后在用户权限里面修改,允许空密码登陆.
方法三
默认phpmyadmin空密码登录是被禁止的,这一行为主要通过配置文件libraries/config.default.php中的两个全局变量控制,即代码如下:
$cfg['Servers'][$i]['nopassword'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
只要修改这两个变量,设定为True,phpmyadmin就会允许以空密码方式登录,即修改libraries/config.default.php中的代码如下:
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
同时将代码如下:
$cfg['Servers'][$i]['password'] = '';
设置数据库教程连接密码设为空密码,即告成功. |