mysql5.6登陆时,1045:Access denied for user 'root'@'localhost'

今天需要装一个MySQL数据库,到官网下载了mysql-installer-community-5.6.17.0.msi这个安装文件,在我的win7上安装好。

但是在使用Navicat登陆时出现“1045:Access denied for user 'root'@'localhost'”这种错误。

到网上找了很多例子在失败过几次之后,终于根据网上的方法,再根据自己MySQL的情况,把这个问题解决了。

解决过程:

1、以管理员身份运行CMD(防止某些指令只能管理员识别),然后切换目录到我的MySQL安装目录的bin目录下

C:\Windows\System32>e:
E:\>cd MySQL\MySQL Server 5.6\bin
E:\MySQL\MySQL Server 5.6\bin>

2、键入指令:mysqld install MySQL --defaults-extra-file="E:\MySQL\MySQL Server 5.6\my-default.ini"。注意,my-default.ini是MySQL安装目录下的服务初始化要用到的文件。5.6版本的MySQL是这个文件名,以前得版本文件名好像是my.ini。如下示例,可能会显示下面粗体的结果提示,也可能只会提示“Service successfully installed.”。这些都表明我们的MySQL数据库安装的没有问题

E:\MySQL\MySQL Server 5.6\bin>mysqld install MySQL --defaults-extra-file="E:\MyS
QL\MySQL Server 5.6\my-default.ini"
The service already exists!
The current server installed: "E:\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-
extra-file="E:\MySQL\MySQL Server 5.6\my-default.ini" MySQL

Service successfully installed.

3、修改my-default.ini(my.ini)文件,在[mysqld]下面,加上skip-grant-tables这个配置参数:


4、重新以管理员身份打开一个CMD,键入:net stop mysql,关闭mysql服务

C:\Windows\System32>net stop mysql
MySQL 服务正在停止..
MySQL 服务已成功停止。

然后,再键入net start mysql,启动mysql服务。

当然,如果你没有启动mysql服务,这里只需要启动一下就可以了,目的是为了重启服务重新读取上一步的ini文件的改动。

当然,启动mysq服务有很多方式,如控制面板里的服务、oracle的MySQL notifier都是可以的。

5、启动mysql后,继续在bin目录下的CMD中键入:mysql -u root -p


6、登陆成功后,分别键入:

user mysql;
UPDATE user SET Password=PASSWORD('xxooxxoo') where USER='root';

flush privileges;

这是为了修改你的root密码,“”xxooxxoo当然是你的新密码咯,刷新privileges,最后quit退出。

7、将之前在ini文件中加入的“skip-grant-tables”参数注释掉,或者删除。

8、最后一步,重启mysql,如:net stop ysql、net start mysql


这样MySQL就可以正常登陆,使用了。以上就是解决这个问题,我的步骤。至于其他怪异情况,还没有遇到,且不提。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值