首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

两个密码验证插件的故事……

作者:Harin Vadodaria 译: 徐轶韬 很久以前(在遥远的星系中……提示音乐!),MySQL增加了对身份验证插件的支持,这个插件现在称为mysql_native_password。...mysql_native_password插件使用SHA1哈希 将密码(SHA1(SHA1(password)))存储在mysql.user表中 验证用户 该插件的一个优点是,它允许使用质询-响应机制进行身份验证...为了克服这些限制,从MySQL-8.0.3开始, 引入了一个新的身份验证插件 caching_sha2_password。...从 MySQL-8.0.4开始,此插件成为MySQL服务器的默认身份验证插件。通过caching_sha2_password身份验证,我们可以解决上述问题,同时确保不影响性能。...(HIPAA,GDPR等) 总结一下: 如果您使用的是mysql_native_password,请尽快计划迁移到caching_sha2_password或支持与外部身份验证服务器集成的 企业身份验证插件之一

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL8 中文参考(二十六)

    重要 在 MySQL 8.0 中,caching_sha2_password是默认的身份验证插件,而不是mysql_native_password。...重要 要使用使用caching_sha2_password插件进行身份验证的帐户连接到服务器,必须使用安全连接或支持使用 RSA 密钥对进行密码交换的未加密连接,如本节后面所述。...表 8.17 SHA-2 身份验证的插件和库名称 插件或文件 插件或文件名 服务器端插件 caching_sha2_password 客户端插件 caching_sha2_password 库文件 无(...安装 SHA-2 可插拔身份验证 caching_sha2_password插件以服务器和客户端形式存在: 服务器端插件内置于服务器中,无需显式加载,并且无法通过卸载来禁用。...前述说明并不假设caching_sha2_password是默认的身份验证插件。如果caching_sha2_password是默认的身份验证插件,则可以使用更简单的CREATE USER语法。

    42310

    如何在 Ubuntu 上安装和保护 phpMyAdmin

    GD 图形库的支持 php-json:为 PHP 提供对 JSON 序列化的支持 php-curl:允许 PHP 使用不同协议与不同类型的服务器交互 运行以下命令将这些软件包安装到您的系统上。...为 MySQL 根帐户配置密码访问 在运行 MySQL 5.7(及更高版本)的 Ubuntu 系统中,根MySQL 用户默认设置为使用auth_socket插件进行身份验证,而不是使用密码进行身份验证...-----+-----------------------+-----------+ 6 rows in set (0.00 sec) 此示例输出表明root用户实际上确实使用auth_socket插件进行身份验证...'; 然后,再次检查每个用户使用的身份验证方法,以确认root不再使用auth_socket插件进行身份验证 SELECT user,authentication_string,plugin,host...--------------------------------+-----------------------+-----------+ 6 rows in set (0.00 sec) 此输出显示

    7410

    MySQL 8.0 安装部署3个注意事项

    MySQL 5.6提供了以下身份验证插件: mysql_native_password 执行本地身份验证的插件;在MySQL中引入可插入身份验证之前使用的基于密码哈希方法的身份验证。...BY ‘password’; caching_sha2_password的身份认证插件 MySQL提供了两个身份验证插件,用于对用户帐户密码实施SHA-256哈希,caching_sha2_password...是MySQL 8.0中的默认身份验证插件,并且提供了该sha256_password身份验证插件的功能的超集。...为使用Unix套接字文件和共享内存协议的客户端连接提供了支持。 2)注意 MySQL 5.7中,默认的身份验证插件还是为 mysql_native_password。...在MySQL 8.0中,caching_sha2_password是默认的身份验证插件,而不是 mysql_native_password。

    1.5K20

    技术分享 | 快速掌握 MySQL 8.0 认证插件的使用

    引言 MySQL 8.0.15 版本主从复制时,io 线程一直处于 connecting 状态, 由于复制用户使用的认证插件是 caching_sha2_password,而想要通过 caching_sha2...为此整理一些关于 MySQL 8.0 认证插件 caching_sha2_password 的一些限制以及 RSA 的相关内容。...一、认证插件 caching_sha2_password 1.1 作用: 用于实现 SHA-256 认证 1.2 工作机制: 1)caching_sha2_password 会将用户名和用户密码哈希对作为缓存条目进行缓存...2.2 查看 RSA 公钥值的方式: 通过状态变量 Caching_sha2_password_rsa_public_key 可以查看 caching_sha2_password 身份验证插件使用的 RSA...2.3 使用 RSA 键值对的注意事项: 1)拥有 MySQL 服务器上 RSA 公钥的客户端,可以在连接过程中与服务器进行基于 RSA 密钥对的密码交换 2)对于通过使用 caching_sha2_password

    90730

    MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响

    这是由于caching_sha2_password 是 MySQL 8.0.4 引入的一个新的身份验证插件,caching_sha2_password 对密码安全性要求更高,要求用户认证过程中在网络传输的密码是加密的...,所以导致的这个问题的出现,caching_sha2_password的介绍可以看社区文章“浅谈 MySQL 新的身份验证插件 caching_sha2_password” 解决方式 1、采用旧密码验证插件...旧的身份验证插件mysql_native_password,mysql_native_password的特点是不需要加密的连接。...使用caching_sha2_password 插件身份验证会在数据目录下生成如下两个RSA文件: private_key.pem public_key.pem private_key.pem:RSA...caching_sha2_password安全度相比其他的身份验证插件,既解决安全性问题又解决性能问题,建议使用新密码验证插件。

    31410

    已解决:java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    今天在搞软测一个作业 要用Tomcat整个古董项目 因为用到的东西都很老 大概就是因为旧版本的MySQL服务器使用mysql_native_password  但是 在MySQL 8.0及以后的版本中,...默认的身份验证插件是caching_sha2_password 这是发生错误的主要原因 解决办法 找到my.ini文件,找到mysqld部分,(如果没有就直接增加这句话)将auth_native_password...设置为1,新版本的客户端仍然能够连接到MySQL服务器,因为新版本的客户端支持多种身份验证插件,包括mysql_native_password。...不必担心会影响现有的 新版本的项目 因为 当客户端尝试连接到服务器时,客户端和服务器会协商使用哪种身份验证插件。...如果客户端支持mysql_native_password,那么即使服务器配置为使用caching_sha2_password,客户端也可以回退到使用mysql_native_password进行身份验证

    2.5K11

    Mysql身份认证过程

    背景 最近有一些hersql的用户希望能支持mysql的caching_sha2_password认证方式,caching_sha2_password与常用的mysql_native_password认证过程差异还是比较大的...,因此抽空研究了一下caching_sha2_password身份认证过程,并为hersql支持了caching_sha2_password的能力 hersql是我开源的一款通过http隧道来代理mysql...返回AuthMoreData包,这时又分为两种情况: 包第二个字节 = 0x03,随后是一个正常的 OK 数据包,这是当用户的密码已在Server缓存中并且身份验证已成功时的情况,这种称之为“fast...包第二个字节 = 0x04,这意味着需要更多数据才能完成身份验证,在使用caching_sha2_password 认证方式时,这意味着用户密码不在Server缓存中,Server要求Client发送用户的完整密码...mysql_native_password mysql_native_password 身份验证插件从 MySQL 8.0.34 开始已弃用,在 MySQL 8.4 中默认禁用,并从 MySQL 9.0.0

    6500

    新特性解读 | 从 wireshark 看 MySQL 8.0 加密连接

    引言 社区之前的文章“快速掌握 MySQL 8.0 认证插件的使用”中说道,MySQL 8.0 使用 caching_sha2_password 认证插件进行加密连接,初步介绍了加密连接,本文从网络抓包层面看一下在使用...caching_sha2_password 插件的 MySQL 8.0 是如何进行加密连接的。...Tips: 此处提供一个小技巧: 在 wireshark 里,编辑-首选项-Protocols-MySQL 里可以设置是否在解析窗口的 info 列里面显示 SQL query 语句以及可以设置 MySQL...Certificate Request:客户证书申请,此处是服务器希望对客户端进行身份验证发送的信息,包含了所需要的证书类型。 ?...写在最后 MySQL 8.0 的加密插件在使用中兼顾了安全与性能,建议使用默认开启,在 MySQL 8.0.16 后支持 TLSv1.3 协议。

    2.2K40

    Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ 完美解决方法

    身份验证插件不匹配:MySQL 8.0 默认使用 caching_sha2_password 插件,但某些客户端不支持。 MySQL 配置问题:可能未正确加载配置文件。 二、解决方案 1....检查身份验证插件 在 MySQL 8.0 中,默认身份验证插件是 caching_sha2_password。如果你的客户端不支持,可切换为 mysql_native_password。...登录 MySQL: mysql -u root -p 检查当前插件: SELECT user, host, plugin FROM mysql.user; 修改为 mysql_native_password...插件: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password'; 刷新权限...无论是重置密码、调整插件还是修改配置文件,每一步都针对特定场景提供了解决方案。希望这篇博客能帮助到你! 如果还有疑问,欢迎加我的微信一起交流。一起学习,一起进步!

    1.6K10

    与世界分享我刚编的mysql http隧道工具-hersql原理与使用

    * 连接ID:在当前连接中唯一标识客户端的整数。 * 随机数据:包含一个随机字符串,用于后续的身份验证。 * 服务器支持的特性标志:指示服务器支持的客户端功能的位掩码。...* 默认的身份验证插件名(低版本没有该数据) 随后客户端会发送一个登录认证包,包含了: 协议版本号:指示所使用的协议版本。 用户名:用于身份验证的用户名。...客户端标志:客户端支持的功能的位掩码。 最大数据包大小:客户端希望接收的最大数据包大小。 字符集:客户端希望使用的字符集。 插件名称:客户端希望使用的身份验证插件的名称。...服务端收到客户端发来的登录认证包验证通过后会发送一个OK包,告知客户端连接成功,可以转入命令交互阶段 在mysql 8.0默认的身份验证插件为caching_sha2_password,低版本为mysql_native_password...,如果是caching_sha2_password那暂时是无法使用的。

    14110

    MySQL8.1.0版本正式发布带来哪些新特性?

    3.6、废弃特性 以下功能在 MySQL 8.1 中已弃用,并且可能会在未来的系列中删除。如果显示替代方案,则应更新应用程序以使用它们。...此更改的含义是,当删除 binlog_format 时,MySQL 服务器将仅支持基于行的二进制日志记录(MySQL 8.0 中的默认设置)。...此更改的含义是,当删除 binlog_format 时,MySQL 服务器将仅支持基于行的二进制日志记录(MySQL 8.0 中的默认设置)。...(WL#13966,WL#15669) mysql_native_password mysql_native_password 身份验证插件现已弃用,并可能在 MySQL 的未来版本中删除。...如果帐户尝试使用 mysql_native_password 作为身份验证方法进行身份验证, CREATE USER、ALTER USER 和 SET PASSWORD 操作现在会在服务器错误日志中插入弃用警告

    52810

    MySQL性能基准测试对比:MySQL 5.7与MySQL 8.0

    安全性得到了改进,caching_sha2_password认证方式取代了之前的mysql_native_password认证方式,成为默认的身份验证方式。...此外,我在这里不使用MySQL8.0的新身份验证方式,即caching_sha2_password认证方式。...在8.0版本中,影响MySQL读取性能的重要新增支持是:可以按降序(或正向索引扫描)创建索引的能力。...结论 MySQL 8.0中有许多改进。基准测试结果显示,与MySQL 5.7相比,MySQL 8.0不仅在处理读负载时,而且在读写混合的高负载下的性能都取得了令人瞩目的进步。...虽然此基准测试没有利用使用caching_sha2_password的新身份验证方法,但它是否使用加密不会影响性能。一旦经过身份验证,它就会存储在缓存中,这意味着身份验证只进行一次。

    6.7K10

    MySQL性能基准测试对比:MySQL 5.7与MySQL 8.0

    安全性得到了改进,caching_sha2_password认证方式取代了之前的mysql_native_password认证方式,成为默认的身份验证方式。...此外,我在这里不使用MySQL8.0的新身份验证方式,即caching_sha2_password认证方式。...在8.0版本中,影响MySQL读取性能的重要新增支持是:可以按降序(或正向索引扫描)创建索引的能力。...结论 MySQL 8.0中有许多改进。基准测试结果显示,与MySQL 5.7相比,MySQL 8.0不仅在处理读负载时,而且在读写混合的高负载下的性能都取得了令人瞩目的进步。...虽然此基准测试没有利用使用caching_sha2_password的新身份验证方法,但它是否使用加密不会影响性能。一旦经过身份验证,它就会存储在缓存中,这意味着身份验证只进行一次。

    6.3K20
    领券