使用mysql workbench登陆mysql服务器时提示授权算法错误。

查阅资料发现,mysql密码使用有两个阶段,第一阶段是登陆时使用hash value进行验证,第二阶段用password()函数生成密码。
换句话说,第一阶段用加密字符串登陆,第二阶段需要更改密码(create user/grant/set password)时使用password()函数来生成。

而第一阶段的验证hash value有两种,一种是pre-4.1版本,另一种是4.1版本的,前者是16字节的字符串,后者是41字节的字符串。
user表的password的长度也调整到了41字节。新版本的hash value总是以*开头。

为了兼容,加入了old_password()函数和old_passwords变量,old_passwords为1时,old_password()函数和password()是一样的,
old_passwords为0时,old_password()返回16字节的hash,password()返回41字节的hash。

为了使DBA可以控制采用哪种验证方式,加入了secure_auth变量,mysql 5.6.5之前的版本默认为0,之后的默认为1。
同时加入了--secure-auth选项。

相关的命令:

mysql> SET @@session.old_passwords = 0;
Query OK, 0 rows affected (0.00 sec)mysql> SELECT @@session.old_passwords, @@global.old_passwords;
+-------------------------+------------------------+
| @@session.old_passwords | @@global.old_passwords |
+-------------------------+------------------------+
|                       0 |                      1 |
+-------------------------+------------------------+
1 row in set (0.00 sec)mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newpass';
Query OK, 0 rows affected (0.03 sec)mysql> SET PASSWORD FOR 'existinguser'@'localhost' = PASSWORD('existingpass');
Query OK, 0 rows affected (0.00 sec)

参考资料:
6.1.2.4. Password Hashing in MySQL

转载于:https://www.cnblogs.com/easynote/p/3279357.html

mysql客户端登陆提示client option 'secure_auth' enabled错误相关推荐

  1. mysql 导入文件提示 --secure-file-priv option 问题

    MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-file-priv option s ...

  2. 在使用net start mysql命令时提示键入 net helpmsg 3523错误

    在终端使用命令启动mysql提示3523错误. 我是这样解决的,打开my.ini配置文件,然后选择另存为,保存的时候选择编码自己需要的编码格式即可. 一般默认都是uft-8,所以出现这个错误的话可以尝 ...

  3. radmin提示授权码过期_IdentityServer4 客户端授权模式(Client Credentials)

    (给DotNet加星标,提升.Net技能) 转自:朝闲cnblogs.com/Zing/p/13361386.html 前言 1.源码(.NET Core 2.2) git地址:https://git ...

  4. 客户端登录阿里云mysql数据库_Mysql数据库之数据库术语和客户端登陆

    在安装好数据库之后,我们需要对它的一些基本概念做些了解,如前所述:数据库是由多个有关联的表所组成.那么在这个表中包括如行.列.主键.外键.索引等. 数据库:有关联的表的集合. 数据表:表是数据的矩阵, ...

  5. linux下安装mysql客户端client

    1. 下载mysql客户端 MySQL的Linux客户端官网下载地址 根据Linux的系统版本选择下载对应的rpm安装包(如下所示),这里选择的是mysql8.0.27版本的redhat8系列的MyS ...

  6. 攻击者正在利用mysql程序漏洞_Riddle 漏洞影响 MySQL 客户端软件,MiTM 攻击可致登陆凭证被窃...

    据外媒 15 日报道,安全专家于 2 月在 Oracle 数据库管理系统( DBMS )MySQL 中发现一个被命名为 Riddle 的编码漏洞,允许攻击者利用 MiTM 攻击窃取用户名与密码.目前, ...

  7. mysql客户端版本太低_windows一机多装mysql,5.5低版本+5.8高版本

    安装第一个mysql,压缩版或者安装版,过程省略,目录如下: 运行中输入"regedit" 进入后,找到      HKEY_LOCAL_MACHINE\SYSTEM\Curren ...

  8. h命令可以获取mysql客户端的帮助信息_如何获取MySQL帮助信息

    在开发或测试环境在碰到MySQL相关故障时,大多数朋友可能会通过论坛发帖,QQ群讨论方式来获取帮助.该方式是获取帮助的有效途径之一.然而如果在生产环境,在没有网络的环境下,这些方式就无助于问题的解决. ...

  9. VMware客户端vSphere Web Client新建虚拟机

    1.说明 vSphere Web Client是为管理员提供的一款通用的. 基于浏览器的VMware管理工具, 能够监控并管理VMware基础设施. 由于需要登录的宿主机安装的是ESXi-6.5.0, ...

最新文章

  1. 怎么寻回执行页内操作时的错误磁盘的数据
  2. 【转载】MongoDB安装并随windows开机自启
  3. arm-linux-g 找不到头文件,交叉编译错误“ arm-none-eabi-g ++找不到条目符号”
  4. hiredis(Synchronous API)
  5. Vue项目实战09 : vue3.0实现点击切换验证码(组件)及校验
  6. 使用工具ngrok 实现内网穿透(免费)
  7. 大数据之-Hadoop3.x_MapReduce_官方WordCount源码和序列化类型---大数据之hadoop3.x工作笔记0085
  8. 解决genemotion模拟器冲突导致的Android Studio无法启动ADB的问题
  9. Deploy Apache Flink Natively on YARN/Kubernetes
  10. STL之仿函数实现详解
  11. IDEA轻松实现.class文件反编译(超实用)
  12. eclipse如何修改项目的jdr或jre版本
  13. 小众绿软|媒体:Soprano Audio Player v1.60
  14. JavaScript之继承和原型
  15. 【Ubuntu 20.04 LTS】设置笔记本合并盖子不休眠
  16. 如何成为Web开发人员—编写第一个Web应用程序
  17. 学会这个2021不一样的感觉学Java性能之 垃圾收集算法
  18. 【数据可视化应用】实现空间栅格(附R语言代码)
  19. @Value注解获取不到配置值
  20. 中庸----做人的智慧

热门文章

  1. springboot启动报错Exception in thread “main“ java.lang.NoClassDefFoundError: io/netty/util/Timer
  2. Android开发笔记(十九)底部标签栏TabBar
  3. MySQL日志设置双1_mysql日志配置文件示例
  4. vue升级之路(四)-- Vuex
  5. Code First系列之视图,存储过程和异步API
  6. TextView IME option
  7. ibatis Clob对象处理
  8. ISA2006之SP1的作用
  9. 【开发工具】之windows下通过批处理编译VS工程
  10. wps怎么写分段函数_连Excel都做不到!WPS这几项真香功能你用过吗