【MySQL连接失败报错】:ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password:YES)

今天使用MySQL的时候,sqlyog突然链接不上了,提示连接错误:

MySQL连接失败报错:ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password:YES)

然后又去命令行用 mysql -u root -p 输入密码连接还是不行,但是我又没有改过密码以前的密码就是登不上去,只好考虑重置一下密码。重置方法如下:

  1. 如果是8.0以后的版本,用管理员身份打开一个cmd窗口,输入下面的代码:
> net stop mysql # 关闭mysql服务
> mysqld --console --skip-grant-tables --shared-memory # 开启--skip-grant-tables模式

停止本地的mysql服务,然后进入 –skip-grant-tables 模式,在这个模式下我们可以不进行登录直接进行管理员操作。
输入代码后,保持当前cmd窗口开启,再去开另一个cmd窗口进行操作。

  1. 在新的cmd窗口中执行:
> use mysql  #选择数据库
> select User from user # 查看下当前用户是否存在
> select user,authentication_string,host from user where user="root"; # 查看用户的密码

这里的第三个语句,不同版本的mysql存放密码的字段不同,如果authentication_string提示报错,可以换成password试一下。
查到密码后,看到的应该是一串加密的结果,也没法看出我的密码是多少,所以直接更改root的密码吧。

  1. **关闭刚才打开的第一个cmd窗口,**然后在第二个cmd窗口中执行命令:
> update user set authentication_string='' where user='root'; #将原来的root密码置空,cmd的sql语句记得加分号
> quit # 退出当前连接
> net start mysql # 在第一步关闭了mysql服务,这里需要开启。
> mysql -u root -p #使用空密码登录root账号
> PASSWORD: #这里如果提示输入密码,直接回车 
> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; # 修改root的密码
  1. 经过前面的步骤密码就更改完了,可以quit退出,然后用密码再登陆一次,没问题就可以了。
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值