记mysql连接问题
.net项目链接Mysql数据库时提示 Mysql Authentication to host 'xx' for user 'root' using method 'caching_sha2_password'。
网上查找了一下资料后找到了一个不错的解决方法,作者分析了问题出现的原因也提供了几种解决方案,地址如下:https://www.cnblogs.com/HelloIwen/p/12515950.html;
造成这个问题的原因是:
mysql 8.0 版本默认使用 caching_sha2_password 身份验证插件机制。
mysql 8.0以前版本(5.7)使用 mysql_native_password。
低版本升级到8.0 验证方式不变,新用户使用8.0验证方式改变,而客户端不支持新的加密方式。
随后我根据文中的方法将密码加密方式改成 mysql_native_password,但是并没有生效。
接着又尝试修改my.ini 文件 在[mysqld]下添加 default_authentication_plugin=mysql_native_password,还是没有生效。
然后又把这两个都改回了caching_sha2_password 尝试一下还是不行。
事情陷入僵局,但是在反复的尝试中发现这好像并不是密码验证的问题。如果验证方式为caching_sha2_password而密码的加密方式为mysql_native_password,那么错误提示应该是Authentication to host 'localhost' for user 'myuser' using method 'caching_sha2_password' failed with message: Access denied for user 'XXX'@'localhost' (using password: YES).
而我一开始的错误提示是Authentication to host 'localhost' for user 'myuser' using method 'caching_sha2_password' failed with message: reading from the stream has failed;额看来是一开始搜的方法就不对,根本就不是同一个错误。
最终在数据库的连接字符串后加上 SslMode=None; 问题就解决了。
还有在多次的尝试中发现一个问题就是我在本地调试项目 连服务器的数据库时在连接字符串中不加上 SslMode=None也能连接成功而同样的连接方法在服务器上的项目就会偶发性的报错,暂时还没找到原因。
原文地址:https://www.cnblogs.com/hegn/p/15129171.html
- Dubbo源码解析 —— 逻辑层设计之服务降级
- 【死磕Java并发】-----J.U.C之Condition
- 数据库中间件 MyCAT 源码分析 —— 【单库单表】查询
- 数据库中间件 MyCAT源码分析:【单库单表】插入
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 分布式事务 TCC-Transaction 源码解析 —— 事务存储器
- 注册中心 Eureka 源码解析 —— 调试环境搭建
- 一样的代码、不一样的写法,JavaScript必知的简写技巧|附源代码
- 【死磕Java并发】-----J.U.C之读写锁:ReentrantReadWriteLock
- 数据库中间件 MyCAT源码分析——跨库两表Join
- iOS一种动态栅格布局方案
- 消息队列中间件 RocketMQ 源码分析 —— Message 存储
- 数据库中间件 MyCAT 源码解析 —— 分片结果合并(一)
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 路由(一)之分库分表配置
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解