MySQL 2059问题的解决

现象:用navicat连接MySQL8+时会出现2059错误

原因:这是由于在mysql8之前的版本中加密规则为mysql_native_password,而mysql8以后版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还没有支持这种验证方式。

解决方法:一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。本文采用第二种方式。

解决过程:

  1. 在命令行中登录数据库时不会出现2059错误,所以在命令行中登录数据库,
  2. 执行下面的命令。 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 
  3. 刷新权限。 FLUSH PRIVILEGES; 
  4. 问题解决。

注意:'root'可以改为你自己定义的用户名,'localhost'指的是该用户开放的IP,可以是'localhost'(仅本机访问,相当于127.0.0.1),可以是具体的'*.*.*.*'(具体某一IP),也可以时'%'(所有IP均可访问,一般修改为%)。'password'是你想使用的验证密码。需要根据实际情况替换成自己的实际配置。

 

 


__EOF__

本文作者北漂的尘埃
本文链接https://www.cnblogs.com/shizhe99/p/14514634.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   北漂的尘埃  阅读(633)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示