navicat连接mysql报错(解决Navicat Premium 连接 MySQL 8.0 报错"1251"的问题分析)
navicat连接mysql报错
解决Navicat Premium 连接 MySQL 8.0 报错"1251"的问题分析人闲太久,努力一下就以为是在拼命。
一、问题
Navicat Premium
连接 MySQL 8.0
报错:
1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
二、原因
MySQL 8.0
改变了密码认证方式。
在 MySQL 8.0
之前版本的密码认证方式为:
|
mysql_native_password |
为了提供更安全的密码加密方式,从 MySQL 8.0
版本开始,默认使用密码认证方式为:
|
caching_sha2_password |
报错 1251
的原因也很明显:
|
Client does not support authentication protocol requested by server; |
翻译为中文就是:“客户端不支持服务端请求的认证协议”。
我这里用的 Navicat Premium 11
去连接 MySQL 8.0
,因为版本太低,所以不支持 caching_sha2_password
的密码加密方式!!
在 MySQL
命令行终端,可以查看版本以及默认密码认证方式:
|
root@程序员的一天:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. mysql> mysql> # 查看版本 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.21 | +-----------+ 1 row in set (0.00 sec) mysql> mysql> # 查看默认加密方式 mysql> mysql> use mysql; Database changed mysql> mysql> select host, user, plugin from user; +-----------+------------------+-----------------------+ | host | user | plugin | +-----------+------------------+-----------------------+ | % | root | caching_sha2_password | | localhost | mysql.infoschema | caching_sha2_password | | localhost | mysql.session | caching_sha2_password | | localhost | mysql.sys | caching_sha2_password | | localhost | root | caching_sha2_password | +-----------+------------------+-----------------------+ 5 rows in set (0.00 sec) mysql> |
可以看到,
MySQL 8.0
默认全部用户的密码加密方式都是caching_sha2_password
。
三、解决
解决这个问题,有两种方法。
-
方法1:修改
MySQL 8.0
的密码认证方式。 -
方法2:安装新版本
Navicat Premium
。
两种方法都可行,但是加密规则最好不要乱改,很容易出问题。所以,推荐使用“方法2”。
3.1、修改 MySQL 8.0
密码认证方式
MySQL
命令行终端分别执行以下操作:
|
# 更新root用户的密码为"123456", # 注意,这里需要将"123456"换成自己的密码,请勿使用弱密码! ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; # 刷新权限,使密码更新生效 FLUSH PRIVILEGES; |
简单演示一下:
第一步:进入 mysql
命令行终端。
|
root@ed2a490912e5:/# mysql -u root -p Enter password: mysql> |
第二步:查看默认密码认证方式。
|
mysql> use mysql; mysql> select host, user, plugin from user; +-----------+------------------+-----------------------+ | host | user | plugin | +-----------+------------------+-----------------------+ | % | root | caching_sha2_password | | localhost | mysql.infoschema | caching_sha2_password | | localhost | mysql.session | caching_sha2_password | | localhost | mysql.sys | caching_sha2_password | | localhost | root | caching_sha2_password | +-----------+------------------+-----------------------+ 5 rows in set (0.00 sec) mysql> |
可以看到,
root
用户密码认证方式为caching_sha2_password
。
第三步:修改 root
用户密码认证方式,如果是其他用户,root
替换为其他用户名即可。等同于更新一下密码!
|
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; Query OK, 0 rows affected (0.05 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.04 sec) |
第四步:再次查看 root
用户密码认证方式。
|
mysql> select host, user, plugin from user; +-----------+------------------+-----------------------+ | host | user | plugin | +-----------+------------------+-----------------------+ | % | root | caching_sha2_password | | localhost | mysql.infoschema | caching_sha2_password | | localhost | mysql.session | caching_sha2_password | | localhost | mysql.sys | caching_sha2_password | | localhost | root | mysql_native_password | +-----------+------------------+-----------------------+ 5 rows in set (0.00 sec) |
注意看,
root
用户密码认证方式变成了mysql_native_password
。
再次使用Navicat Premium 11
连接 MySQL 8.0
,连接成功!
再次提示,修改密码认证方式,很容易出问题,不推荐!
3.2、安装新版本 Navicat Premium
经我测试,Navicat Premium 12
及以上版本均支持 MySQL 8.0
连接。最新版本是 Navicat Premium 15
,官网下载地址:
http://www.navicat.com.cn/download/navicat-premium
安装很简单,运行安装包,根据提示一步一步安装即可。遗憾的是 Navicat Premium
不是免费软件,永久许可证价格比较昂贵… …官网报价:人民币 4,449.0 元,企业版甚至上万了。贫穷,让我流下眼泪,哭唧唧
好在可以破解!!!
具体可以参考:Navicat Premium 15 永久破解安装教程
免责申明:仅供技术交流,如产生法律纠纷与本人无关。如有侵犯版本,联系删除!
附上一张效果图:
到此这篇关于Navicat Premium 连接 MySQL 8.0 报错“1251”分析解决的文章就介绍到这了,更多相关Navicat Premium 连接 MySQL 8.0 报错内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/pythontide/article/details/109616956
- navicat不能连接到mysql报错2013(Navicat连接SQL Server数据:报错08001-命名管道提供程序的完美解决方法)
- mysql插入数据错误代码(教你解决往mysql数据库中存入汉字报错的方法)
- mysql连接navicat报错1045(Navicat 连接MySQL8.0.11出现2059错误)
- mysql突然报错206无法连接(详解MySQL连接挂死的原因)
- mysql报错103(解决Mysql报Invalid default value for“operate_time”错误的问题)
- vue怎么配置到idea(idea编译器vue缩进报错问题场景分析)
- docker重启报错(Docker启动为Exited状态)
- idea向数据库中插入中文报错(Idea连接MySQL数据库出现中文乱码的问题)
- ubuntu20.04开启ssh(详解Ubuntu20.04用Xshell通过SSH连接报错的服务问题)
- devc报错信息找不到(dede5.7验证码错误不显示的解决方法)
- docker容器启动失败怎么查找原因(解决docker安装后运行hello-world报错的问题)
- phplaravel怎么优化(laravel执行php artisan migrate报错的解决方法)
- sql server 报错(sql server利用不同语种语言显示报错错误消息的方法示例)
- python的decode函数在哪个模块(python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决)
- 宝塔面板phpMyAdmin错误教程(宝塔面板phpMyAdmin报错502 Bad Gateway nginx解决方法)
- php错误处理及调试(php报错502 bad gateway解决方法)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
- 四月新番CP人气榜公布,《剃须》两度上榜,沙优不是女朋友(四月新番CP人气榜公布)
- 2019年外媒秋季新番动画角色CP排行榜,桐人和爱丽丝落榜(2019年外媒秋季新番动画角色CP排行榜)
- 新一小兰领衔 盘点动漫中的那些 远距离恋爱情侣(盘点动漫中的那些)
热门推荐
- select 1 from 的作用
- 云服务器实例和配置(运维必须知道的关于云服务器的十个问题)
- navicat配置远程访问mysql(解决Navicat无法连接 VMware中Centos系统中的 MySQL服务器的问题)
- 怎么知道sqlyog连接的哪个mysql(SQLyog连接MySQL8.0报2058错误的完美解决方法)
- vue 实现吸顶效果(vue实现水波涟漪效果的点击反馈指令)
- docker部署mysql如何访问(完美解决docker安装mysql后Navicat连接不上的问题)
- sql server中PageLatch和PageIOLatch等待
- dedecms标签怎么调用(dedeCMS 站内搜索代码的改进方法)
- docker 重启容器后数据丢失(如何恢复docker容器数据)
- vue组件开发步骤(解析如何自动化生成vue组件文档)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9