asp.net(C#)接MYSQL8.0版本报错的处理方法
由于新的操作系统没有安装mysql,项目中需要使用到,于是安装了最新版本的mysql8.0.28(我安装的是社区版),如果你的项目是老项目,使用的mysql插件是比较老的版本,安装的时候要注意一下,配置mysql的时候会有如下图的提示,如果是比较老的版本请选择下面的选项,否则使用第一个选项的话有可能会导致项目连接不上数据库
安装完成后,运行项目发现连接不上数据库,提示如下错误信息
System.Security.Authentication.AuthenticationException: 调用 SSPI 失败,请参见内部异常。 ---> System.ComponentModel.Win32Exception: 接收到的消息异常,或格式不正确。
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
在 System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
在 System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
在 MySql.Data.MySqlClient.NativeDriver.StartSSL()
在 MySql.Data.MySqlClient.NativeDriver.Open()
在 MySql.Data.MySqlClient.Driver.Open()
在 MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
在 MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
在 MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
在 MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
在 MySql.Data.MySqlClient.MySqlPool.GetConnection()
在 MySql.Data.MySqlClient.MySqlConnection.Open()
在 Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader)
在 Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command)
在 Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
百度查询了一下,说是要升级项目中的mysql插件,我尝试升级Mysql插件,但是升级失败了,所有这个解决方案pass掉了,大家可以尝试一下参考文档:https://blog.csdn.net/wqq1027/article/details/119764268
于是我就继续问了度娘,有人说连接字符中中加上SslMode=None;于是我尝试了一下,还是连接失败,但是报错信息不一样了,错误信息如下:
Authentication to host 'xxx' for user 'root' using method 'caching_sha2_password' failed with message
看到这个错误,我就猜想应该是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
[mysqld]
default_authentication_plugin=mysql_native_password
然后在服务中重启MySql服务
Linux 下可以修改在/etc/my.cnf文件
重启MySql服务后,再重试发现数据库连接成功了。记录一下,以免后面再遇到这种问题,到处找解决方法
asp.net(C#)接MYSQL8.0版本报错的处理方法的更多相关文章
- 安装docker17.06.0版本报错和解决方法
本人在自己电脑的虚拟机里安装docker ce 17.06.0版本的时候报如下错误: [root@manager2 yum.repos.d]# yum install docker-ce-17.06. ...
- CentOS7安装mysql8.0编译报错集合
以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...
- Idea下的springboot mysql8.0等报错解决随笔
cannot load jdbc class path:mysql8.0装载失败,可能原因,驱动名称错误,连接字符串中需要加入时区UTC,否则8.0一定会报错无法连接,关闭SSL 在applicati ...
- win10 压缩包安装mysql8.0.11报错:Access denied for user 'root'@'localhost'
按这篇:https://blog.csdn.net/Myuhua/article/details/84792121#commentsedit 这里精简下,还有update语句中authenticati ...
- 未能加载文件或程序集 Newtonsoft.Json, Version=4.5.0.0 的报错,解决方法
使用httpclient测试webapi的时候客户端报错: {"未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, P ...
- MySQL8.0 caching_sha2_password报错问题
在bin目录下执行mysql -uroot -p123456 登录后执行: use mysql; select host, user, plugin from user; 打印: +--------- ...
- windows 链接 MySQL8.0.28 报错: SSL connection error: unknown error number 解决办法
找到 My.ini文件,以管理员身份打开并在 [mysqld] 节点下 增加 skip_ssl 选项并保存,重启 MySQL 服务 执行SQL语句 SHOW VARIABLES L ...
- 使用mysql5.7版本的mysqldump备份mysql8.0版本的数据库报错解决办法
使用mysql5.7版本的mysqldump命令执行备份mysql8.0版本的数据库时会报错: mysqldump: Couldn't execute 'SET SQL_QUOTE_SHOW_CREA ...
- Spring Cloud Alibaba(6)---Nacos持久化Mysql8.0版本
Nacos持久化Mysql8.0版本 有关Nacos之前写过三篇文章. Spring Cloud Alibaba(3)---Nacos概述 Spring Cloud Alibaba(4)---Naco ...
- dotfuscator 在混淆.Net Framework 4.0以上版本的时候报错的解决方法
dotfuscator 在混淆.Net Framework 4.0以上版本的时候报错的解决方法 在混淆的时候报错了,错误描述大致如下: Could not find a compatible vers ...
随机推荐
- 通过Java写入数据到Excel表格
在数据处理与管理领域,Excel 凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具.在 Java 开发过程中,常常需要将不同类型的数据,如文本.数值.数组以及 DataTable 数据写入 ...
- Kali Linux 从入门到实战:系统详解与工具指南
Kali Linux 从入门到实战:系统详解与工具指南 1. Kali Linux 简介 Kali Linux 是一款基于 Debian 的 Linux 发行版,专为 渗透测试 和 网络安全审计 设计 ...
- JAVA实现读取最后几行日志
JAVA实现读取最后几行日志 1. 背景 在项目框架设计中,针对系统产生的日志,有线上查看日志的需求.日志文件本身很大.线上查看时,开发人员只想了解当前系统产生的错误信息. 2. POM依赖 主要使用 ...
- 解决Vmware使用中的卡顿问题
打开首选项到内存,将其修改为图中的设置 打开优先级,设置如图 打开对应虚拟机设置,如图做两步设置 全部设置完成后,再次打开虚拟机使用发现完全不卡了!
- stm32cubemx+DMA+freertos实现usart不定长数据接收和发送
本博客讲解如何在stm32cubemx+freertos+dma的情况下实现usart不定长接收和发送数据 cubemx配置 波特率随意 freertos没啥特别的配置,打开即可,我用的是CMSIS_ ...
- python基础—初识函数(一)
1.python中函数定义 函数是逻辑结构化和过程结构化的一种编程方法. (1).python中函数定义方法: def test(x): '''The function definitions''' ...
- 题解:CF1119D Frets On Fire
大水题. 首先,若区间内只有一根弦,不会对答案有贡献. 我们思考如何对答案产生贡献.我们知道,对于每一个 \(s_i\),都会产生一段 \(s_i+r-l\) 的连续序列,在对 \(s\) 数组排序后 ...
- SpringBoot模板一
SpringBoot模板一 SpringBoot员工管理系统 用到的技术: Version1 JDBC MySQL SSM thymeleaf lombok shiro WebSocket Swagg ...
- ArkUI-X在Android平台动态化开发指南
本文介绍如何在Android平台进行ArkUI-X动态化开发,包括动态化目录规则及约束. 适用场景 动态化主要包括两个典型场景: 场景1:框架动态化,为了降低应用ROM体积占用,及满足动态升级框架目的 ...
- 基于CentOS Stream 8的物联网平台深度优化方案
系统架构全景图 图表 一.系统平台优化(CentOS Stream 8) 1. 系统基础配置 bash # 1. 系统更新与加固 sudo dnf update -y sudo dnf install ...