今天上午上班的时候遇到了一个关于phpmyadmin连接mysql时出现#1045-Accessdeniedforuser’root’@’localhost’(usingpassword: NO)的错误,起因是我在初次登陆mysql时修改了root的登陆密码,但是忘记在config.inc.php中修改$cfg[‘Servers’][$i][password]的值,导致phpmyadmin连接mysql的密码没有同步更新,出现新密码和旧密码都无法连接到mysql的问题。
(我的mysql版本为最新的5.7.14)
经过与网上一系列所谓方法的一番斗智斗勇,终于解决了这个错误,方法如下:
一、左键单击wampserver图标,鼠标移至mysql一项,此时出现my.ini配置文件,
点击打开该文件,查找skip-grant-tables关键字,删掉它前面的冒号,保存并重启服务。
二、单击wampserver图标,鼠标移至mysql一项,点击进入mysql控制台,
此时cmd中会出现enter password的字样,直接按回车,就可以进入mysql操作了。然后键入:
update MYSQL.user set authentication_string=PASSWORD('这里是你要设置的新密码') where user='root';
之后会显示query OK等字样,再键入
FLUSH PRIVILEGES;
之后会显示query OK等字样,这时候键入
exit;
退出mysql。
三、这时候打开config.inc.php文件,修改成
$cfg[‘Servers’][$i][‘password’]='你设置的新密码';
然后保存并重启服务。
四、最后再次打开my.ini文件,在skip-grant-tables关键字,恢复它前面的冒号,保存并重启服务。
这时候就大功告成了!