我先说一句话哈。
非常的生气,也鄙视国内搞IT的人,简直无语。同样是解决这个问题,几乎一模一样,都是抄来的。更有甚者,抛出的错误是:Access denied for user ‘root’@’localhost’ to database ‘mysql’,竟然也把别人的解决方法照搬过来,还恬不知耻的说:问题解决了,我估计都没有真正去操作过。
下面是本人在参考别人的基础之上得到的解决方法:
抛出该错误,参考网上各位大抄的大作如下:
如先输入mysql,成功启动后输入use mysql,出现如下错误:Access denied for user ”@’localhost’ to database ‘mysql’
还有,输mysql可以,输mysql -u root就出错了:
Access denied for user ‘root’@’localhost’ (using password: NO).
The reason is:
是昨日更新ROOT密码时出错
update user set password = ‘123456’ where user =”root” //这样写是错的,密码其实不是123456
应该为update user set password = password (‘123456’) where user = “root”
具体操作步骤:
关闭mysql:
service mysqld stop
然后:
mysqld_safe –skip-grant-tables
启动mysql:
service mysqld start
mysql -u root
mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD(‘xxx’) WHERE user=’root’;
mysql> flush privileges;
mysql>\q
按照各位大抄的步骤一步一步做,没有任何效果,仔细研究错误信息中的 user”@’localhost’ ,说明user表中的user=‘’的信息有误,然后执行UPDATE user SET Password=PASSWORD(”) WHERE user=”;
果断没有作用。
最后,自己认真看了,自己想出来解决办法。用navicat 直接设置mysql的user表,把权限都设置成Y。
问题解决。
最后想说一句话。拜托你们抄来抄去有意思的么???copy也有点copy精神好么。给别人误导,特么的恶心。