参考:http://bbs.csdn.net/topics/390201358
http://bbs.csdn.net/topics/310006640本人的mysql通过localhost连接是提示该错误,但是通过ip又可以连接。。。下面是本人的解决方法:
如果你没有配置mysql的环境变量的话,首先通过管理员开启cmd,然后进入mysql的bin目录。通过net stop mysql停止服务在键入下面内容:
mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.6\my.ini" --console --skip-grant-tables
键入上面内容后,另外开启一个cmd,然后mysql -uroot -p<回车>,输入密码就行了。
有图有真相,反正我是这样可以了,你们就看自己人品行不行啦:
进入了mysql后别高兴,别着急关闭前一个cmd窗口,先执行下面操作:
应该为update user set password = password ('123456') where user = "root";(ps:不知道可以可以不修改密码直接执行下面操作,读者可以自行试试)
restart一下mysql服务,用 root 和密码 123 登陆成功, 再:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
来赋予所有用户远程连接权限,终于成功了.