MySQL将身份验证类型从标准更改为caching_sha2_password

Mat*_*men 21 mysql mysql-workbench

我在计算机上设置了一个新的MySQL实例,每次添加用户时都会将Authentication Type设置为caching_sha2_password.

即使我将身份验证类型设置为" Standard",然后在保存用户时更改它,也会发生这种情况.我还将默认的身份验证插件更改为" mysql_native_password",但它仍然继续这样做.

使用它caching_sha2_password我无法从.net核心连接到数据库,因为我得到一个错误说明:

MySqlException:任何可用插件都不支持身份验证方法'caching_sha2_password'

如何使用标准身份验证类型保存用户?

Mek*_*vez 50

我今天遇到了同样的问题.我发现修复它的唯一方法是:

  1. 执行安装文件
  2. 选择mysql服务器上的"重新配置"
  3. 在身份验证方法选项卡中,选择"使用传统身份验证方法"

它应该解决你的问题.

  • 如果您使用的是 OSX,则该选项应位于系统首选项下的 Mysql 窗格中。按按钮停止服务器,然后按“初始化数据库”按钮。然后选择:“使用旧密码加密”。然后再次启动服务器。 (2认同)

小智 8

mysql> CREATE USER ‘username’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
Run Code Online (Sandbox Code Playgroud)


小智 6

对于那些使用 MySQL Workbench 8.0 CE 并且仍在苦苦挣扎的人,以下对我有用:

  1. 在 Navigator 下,单击Navigator preview 下的Administration Administration,然后选择 Options File。
  2. 管理 - 选项文件将打开。在安全选项卡下,向下滚动直到看到“默认身份验证插件”。我的是 caching_sha2_password。将其更改为 mysql_native_password,单击应用并重新启动 MySQL Workbench 对我有用。

管理 - 选项文件预览

我不得不删除并重新添加用户。它没有自动将用户的身份验证类型改回 caching_sha2_password,而是保持标准不变。


小智 5

使用 mysql_native_password 重置用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '{NewPassword}';