MYSQL:Access denied for user 'root'@'localhost' 解决方案

2017-01-06 10:08:50来源:oschina作者:LeeHH人点击

今天在一个Windows Server上用Navicat打开数据库的时候,报了这个错,无法打开,上百度查了一下,发现是个挺常见的问题,很多人都遇到过,所以在此记录一下,以备后用。


解决方案:绕过登录进入Mysql,然后修改密码即可。(这里只阐述Windows下的操作,Linux的话,原理是一样的,步骤和命令的话自己揣摩一下)


1.停止Mysql服务,可以在 开始菜单->控制面板->系统和安全->管理工具->服务 里停止MySQL服务,也可以用cmd开命令行,然后输入命令:net stop mysql


2.打开命令行,cd到你的MySQL的目录下,比如我的目录是:C:/Program Files/MySQL/MySQL Server 5.5/bin,所以我的命令就是:cdC:/Program Files/MySQL/MySQL Server 5.5/bin


3.输入命令:mysqld --defaults-file="C:/Program Files/MySQL/MySQL Server 5.5/my.ini" --console --skip-grant-tables(default-file的地址取决于你自己电脑上的MYSQL的地址,不要直接复制,--skip-grant-tables这个参数的意思是启动mysql时跳过授权表,简单的说,就是不需要输入账号密码即可登录进数据库)


4.然后命令行里会打印一堆日志,证明命令已经生效,这时,我们就重新开一个命令行(不要关闭当前的命令行)


5.在新开的命令行里输入:cd C:/Program Files/MySQL/MySQL Server 5.5/bin(cd后面的目录取决于你本身的MYSQL的目录)


6.直接输入:mysql,不用账号密码就可以直接进入mysql了


7.输入:use mysql(选择mysql这个database)


8.输入:update user set password=PASSWORD("NewPassword") where user="root";(更新root用户的密码,不解释了,NewPassword这个值自己改)


9.刷新一下,输入:FLUSH PRIVILEGES;


10.然后就可以退出mysql了,然后再把刚刚的那个命令行也停止了,重新打开MYSQL服务,接着就拿着你的新密码去打开mysql吧~~

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台