当前位置: 首页 > article >正文

MySQL 的认证插件

提示

navicat 连接 MySQL 8 出现 2059 错误就是和这个东西有关

1. 认证插件


MySQL Server 中有专门的"部件"来验证你所提供密码的正确性:认证插件。MySQL Server 中
有多种认证插件。
在创建一个用户、修改用户密码时,需要指定 MySQL Server 使用那种认证插件来处理这个密
码。 这个感觉有点类似:MySQL 支持多种数据库引擎( Engine ),你在创建表时,需要为表指定某种数据库引擎。


MySQL 8.0.4 之前默认的认证插件是 mysql_native_password ,而从 8.0.4 开始,将默认的
认证插件改成了 caching_sha2_password 。


这也是为什么从 8.0.4 开始不支持  SET PASSWORD FOR ... 的方式更新密码了。
如果你想「影响」认证插件,有 2 种方式:

1. 修改  MYQL SERVER 的配置文件,在配置文件中指定默认的认证插件。

[mysqld]
...
default_authentication_plugin=mysql_native_password

2. 在设置用户密码时,指定处理该用户密码的认证插件,去「覆盖」默认的认证插件。例如:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

2. Navicat 连接 MySQL 出现 2059 错误

由于低版本的 Navicat 使用的数据库驱动版本也比较低,无法配合 MySQL 8.0.4  ( 及以上版
本 ) 的 caching_sha2_password 密码认证插件,因此导致了,你输入了正确的用户名密码也
无法连上 MySQL Server ( 报 2059 错误 ) 。
对于这种情况,有 3 种解决办法:

1. 使用更高版本、更新的 Navicat ;

2. 换别的数据库客户端,例如,sqlyog ;

3. 修改登录用户的密码,其实重点是修改密码是去改密码认证器,改成
mysql_native_password ;


http://www.kler.cn/a/318727.html

相关文章:

  • 认识一下Unicorn
  • 基于微信小程序的乡村研学游平台设计与实现,LW+源码+讲解
  • python高效处理大数据:将Excel10万数据分批插入MySQL数据库的实战代码
  • 学术论文写作丨机器学习与深度学习
  • ima.copilot-腾讯智能工作台
  • C# 委托与匿名方法
  • android 15 Adapter TextView中英文差异 高度不一致
  • 2024云手机推荐与排行:怎样选择最适合的云手机?
  • MyBatis 多数据源支持
  • MySQL版本问题无法使用 group by xxx
  • GitLab 批量创建用户
  • 【web开发】Spring Boot 快速搭建Web项目(三)
  • Milvus - 比特集机制及其应用场景详解
  • DashVector x 通义千问大模型:打造基于专属知识的问答服务
  • 【C++篇】手撕 C++ string 类:从零实现到深入剖析的模拟之路
  • 测试面试题:接口测试与功能测试相比较的优点有哪些?
  • 利士策分享,如何在有限的时间内过上富足的生活?
  • YOLOv9改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归
  • 扩散模型实战:从零开始训练手写数字生成模型
  • ★ C++进阶篇 ★ 二叉搜索树
  • service 命令:管理系统服务
  • AI学习指南深度学习篇-Adagrad超参数调优与性能优化
  • C语言 | Leetcode C语言题解之第435题无重叠区间
  • 编译原理3——词法分析
  • Pytest-如何将allure报告发布至公司内网
  • 微生物多样性数据的可视化技巧