navicat连接MySQL8.0出现2059错误

navicat连接MySQL8.0出现2059错误
今天想用navicat连接本地数据库,但是出现了标题的错误,然后通过查阅资料发现在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。
在不想下载新navicat(因为还要下载破解版。。。)的情况下,将mysql用户登录的加密规则修改为mysql_native_password就可以了。
具体实现:
1.mysql -u root -p #登录
输入密码
2.ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #更改加密方式
其中的password是自己密码
3.ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新用户密码
其中的password是自己密码
4.FLUSH PRIVILEGES; #刷新权限
上述步骤做完就好啦。。

(成功的可以忽略下面的!!!!!!!!!!!!!!!!!!)
但是我中间操作失误了,导致密码丢失错误,于是开始查找则么更改密码,试了很多比如在my.ini中更改mysqld的属性(跳过验证的)然后重启服务直接登入,但是发现貌似在8.0中和谐了,反正我是更改了之后服务就启动不了了。我找到的现在更改的方法如下(欢迎大家补充哈):
1.在services.msc中停止mysql80服务
2.记事本中新建一个包含密码赋值语句的文本文件,将MyNewPass替换为你要修改的密码。
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘MyNewPass’;
3.保存文件。假如文件命名为D:mysql-init.txt。(D位在D盘根目录下)
4.在cmd中用–init-file选项启动mysql(注意:–init-file选项中的路径要用双反斜杠)
C:> cd “C:\Program Files\MySQL\MySQL Server 8.0\bin”
C:> mysqld --init-file=C:\mysql-init.txt
如果mysql安装到别的位置,将cd的路径替换成你安装的路径。
如果你是用 MySQL Installation Wizard方式安装的mysql,还要指定 --defaults-file选项。(可以直接使用这种,其实就是找下my.ini的位置,在Data中不在根目录下)
C:> cd “C:\Program Files\MySQL\MySQL Server 8.0\bin”
C:> mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 8.0\my.ini” --init-file=D:\mysql-init.txt
打完回车我这里是直接光标换行没任何提示,然后重启mysql80服务就可以啦。
小白。。望补充谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值