ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
前两天也偶尔出现这个错误,也没在意,因为我重新修改一下mysql的root密码后又可以用了,但昨天却不行,我把root密码修改以后虽然当时能用, 一旦重新进入就都不能用了,可我的密码明明没有错啊?今天终于找到了原因,是权限问题,大家可以参考着下面两篇文章去看一下:
http://topic.csdn.net/t/20060117/15/4521496.html#
http://doc.99net.net/doc/database/1076488199/1076549732.html
由于以前从来没有遇到过这种情况,故把解决方法记录于此,以便今后自己查阅,具体方法就是你在改root密码的时候再加上一句给权限的语句:
grant all on mysql.* to 'root'@'localhost' identified by 'password';
最后那个password即是你要修改的root用户的密码
http://topic.csdn.net/t/20060117/15/4521496.html#
http://doc.99net.net/doc/database/1076488199/1076549732.html
由于以前从来没有遇到过这种情况,故把解决方法记录于此,以便今后自己查阅,具体方法就是你在改root密码的时候再加上一句给权限的语句:
grant all on mysql.* to 'root'@'localhost' identified by 'password';
最后那个password即是你要修改的root用户的密码
MySql数据库服务和往常一样被正常启动,但是当我打开Navicat for MySql 的时候蛋疼的一幕发生了。废话少说看截图吧。
不知道你的图图是不是这样的。
解决办法如下:
1.
找到[ C:\Program Files\MySQL\MySQL Server 5.5\my.ini ]这个文件。
编辑该文件在文件最后添加一行代码【skip-grant-tables】,保存文件并关闭。
2.
重启MySql5服务
3.
修改root账号的密码;
打开doc窗口,
接着执行命令【mysql -u root -p】不用密码直接进入。
继续执行命令【use mysql】
继续执行命令【update user set password=password("root") where user="root";】
最后一个命令是将用户root的密码修改成了root
4.
还原[ C:\Program Files\MySQL\MySQL Server 5.5\my.ini ]配置文件
重启MySql5服务
用户:root
密码:root
OK!成功连接MySql5。Thank you!
Got error: 1449: The user specified as a definer (''@'%') does not exist whe