本文将介绍MySQL将身份验证类型从标准更改为caching_sha2_password的详细情况,特别是关于mysql身份验证方式的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了
本文将介绍MySQL将身份验证类型从标准更改为caching_sha2_password的详细情况,特别是关于mysql身份验证方式的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于asp.net C# 连接MySQL8.0的caching_sha2_password问题、caching_sha2_password‘ cannot be loaded问题解决、docker 环境中 mysql 镜像 authention plugin ''caching_sha2_password'' cannot be loaded、EF Core 连接Mysql报错:Authentication method ''caching_sha2_password'' failed的知识。
本文目录一览:- MySQL将身份验证类型从标准更改为caching_sha2_password(mysql身份验证方式)
- asp.net C# 连接MySQL8.0的caching_sha2_password问题
- caching_sha2_password‘ cannot be loaded问题解决
- docker 环境中 mysql 镜像 authention plugin ''caching_sha2_password'' cannot be loaded
- EF Core 连接Mysql报错:Authentication method ''caching_sha2_password'' failed
MySQL将身份验证类型从标准更改为caching_sha2_password(mysql身份验证方式)
我已经在计算机上设置了一个新的MySQL实例,每次添加用户时,它将Authentication
Type设置为caching_sha2_password
。
即使将身份验证类型设置为“ Standard
”,也会发生这种情况,然后在保存用户时将其更改。我也将默认身份验证插件更改为“mysql_native_password
”,但仍会继续这样做。
有了它,caching_sha2_password
我无法从.net核心连接到数据库,因为出现错误说明:
MySqlException:任何可用插件均不支持身份验证方法“ caching_sha2_password”
如何获得以标准身份验证类型保存用户的信息?
答案1
小编典典我今天有同样的问题。我发现修复它的唯一方法是:
- 执行安装文件
- 在mysql服务器上选择“重新配置”
- 在“身份验证方法”选项卡中,选择“使用旧式身份验证方法”
它应该可以解决您的问题。
asp.net C# 连接MySQL8.0的caching_sha2_password问题
解决方法可用以下命令:
命令行登录mysql;
mysql>use mysql;
mysql>ALTER USER root IDENTIFIED WITH mysql_native_password BY ''你的密码'';
mysql>FLUSH PRIVILEGES;
网上说用:
MySql 8.0 C#连接报错 MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host ''xxx'' for user ''root'' using method ''caching_sha2_password'' failed with message: Reading from t
解决方法
在连接字符串后面加上 SslMode=None
以上方法未成功,可能还是mysql 8.0密码验证机制问题导致,所以需要修改一下my.ini文件如下:
如果安装目录下找不到my.ini文件 windows系统下处理如下,打开C盘 查看选项中,查看隐藏文件,如果不出意外在programeData下(C:\ProgramData\MySQL\MySQL Server 8.0)找到my.ini
加入这一项 default_authentication_plugin=mysql_native_password
然后在服务中重启MySQL80服务
[mysqld]
default_authentication_plugin=mysql_native_password
Linux 下可以修改在/etc/my.cnf文件
caching_sha2_password‘ cannot be loaded问题解决
在mac上安装 8.0.19版本的MysqL后,使用navicat连接时,报caching_sha2_password' cannot be loaded的异常。
原因为:8.0.19版本的mysq用户密码加密方式为caching_sha2_password,navicat暂不支持,需要修改下MysqL的加密方式。
解决过程:
1.登陆MysqL
MysqL -u root -p
2.查看当前加密方式
use MysqL;
select user,plugin from user where user='root';
可以看到,root账号密码加密方式为caching_sha2_password。
3.修改加密方式
alter user 'root'@'localhost' identified with MysqL_native_password by 'password';
4.刷新权限表,使设置生效
flush privileges;
————————————————
版权声明:本文为CSDN博主「爱思考的实践者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chinawangfei/article/details/110948493
docker 环境中 mysql 镜像 authention plugin ''caching_sha2_password'' cannot be loaded
环境
- Docker version 1.13.1, build 8633870/1.13.1
- mysql 8.0.13
mysql8 版本默认的认证方式是 caching_sha2_password ,客户端不支持,之前是采用 mysql_native_password,可以在启动容器时添加参数
--default-authentication-plugin=mysql_native_password
如:docker run -d -p 3303:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysqltest3 mysql --default-authentication-plugin=mysql_native_password
另一种解决方法 在 mysql 配置文件中(容器内)修改 /etc/mysql/my.cnf
1 [mysqld]
2 default_authentication_plugin=mysql_native_password
EF Core 连接Mysql报错:Authentication method ''caching_sha2_password'' failed
环境:EF Core6.0 + Pomelo.Mysql 6.0
详细报错内容:
An exception occurred while iterating over the results of a query for context type ''Admin.NET.EntityFramework.Core.DefaultDbContext''.
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding ''EnableRetryOnFailure()'' to the ''UseMySql'' call.
---> MySqlConnector.MySqlException (0x80004005): Authentication method ''caching_sha2_password'' failed. Either use a secure connection, specify the server''s RSA public key with ServerRSAPublicKeyFile, or set AllowPublicKeyRetrieval=True.
at MySqlConnector.Core.ServerSession.GetRsaPublicKeyAsync(String switchRequestName, ConnectionSettings cs, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 856
at MySqlConnector.Core.ServerSession.SwitchAuthenticationAsync(ConnectionSettings cs, String password, PayloadData payload, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 733
at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, MySqlConnection connection, Int32 startTickCount, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 550
at MySqlConnector.Core.ConnectionPool.ConnectSessionAsync(MySqlConnection connection, String logMessage, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 363
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 94
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 124
at MySqlConnector.MySqlConnection.CreateSessionAsync(ConnectionPool pool, Int32 startTickCount, Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 915
at MySqlConnector.MySqlConnection.OpenAsync(Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 406
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternalAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternalAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlRelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding ''EnableRetryOnFailure()'' to the ''UseMySql'' call.
---> MySqlConnector.MySqlException (0x80004005): Authentication method ''caching_sha2_password'' failed. Either use a secure connection, specify the server''s RSA public key with ServerRSAPublicKeyFile, or set AllowPublicKeyRetrieval=True.
at MySqlConnector.Core.ServerSession.GetRsaPublicKeyAsync(String switchRequestName, ConnectionSettings cs, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 856
at MySqlConnector.Core.ServerSession.SwitchAuthenticationAsync(ConnectionSettings cs, String password, PayloadData payload, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 733
at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, MySqlConnection connection, Int32 startTickCount, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 550
at MySqlConnector.Core.ConnectionPool.ConnectSessionAsync(MySqlConnection connection, String logMessage, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 363
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 94
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 124
at MySqlConnector.MySqlConnection.CreateSessionAsync(ConnectionPool pool, Int32 startTickCount, Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 915
at MySqlConnector.MySqlConnection.OpenAsync(Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 406
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternalAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternalAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlRelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
解决方案: 在连接字符串加入 【allowPublicKeyRetrieval=true;】即可,参考连接字符串:
Data Source=127.0.0.1;Database=database;User ID=root;Password=root;pooling=true;port=3306;sslmode=none;CharSet=utf8;allowPublicKeyRetrieval=true;
我们今天的关于MySQL将身份验证类型从标准更改为caching_sha2_password和mysql身份验证方式的分享已经告一段落,感谢您的关注,如果您想了解更多关于asp.net C# 连接MySQL8.0的caching_sha2_password问题、caching_sha2_password‘ cannot be loaded问题解决、docker 环境中 mysql 镜像 authention plugin ''caching_sha2_password'' cannot be loaded、EF Core 连接Mysql报错:Authentication method ''caching_sha2_password'' failed的相关信息,请在本站查询。
本文标签: