问题描述:使用RDS for MySQL的高安全模式,用MySQL Connector Net 6.9.7 和 6.9.8连接提示如下:
“:System.IO.IOException: 从传输流收到意外的 EOF 或 0 个字节”
或
“System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接”
解决方法: 这个问题是由于Windows客户端默认加了sslmode,需要关闭sslmode即可。在连接字符串里面添加下面的代码,即可解决
sslmode=none
如果问题还未能解决,请联系
售后技术支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
当您在使用RDS for MySQL的高安全模式下,通过MySQL Connector Net 6.9.7 或 6.9.8遇到错误提示:
System.IO.IOException: 从传输流收到意外的 EOF 或 0 个字节
System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接
根据问题描述及解决方案提示,此问题源于Windows客户端默认启用了SSL模式,与RDS实例的安全设置不兼容。解决方法是在您的连接字符串中明确关闭SSL模式,具体操作为在连接字符串里添加参数:sslmode=none
。
修改后的连接字符串示例(确保将your_server
, your_database
, your_user
, 和 your_password
替换为实际值):
Server=your_server;Database=your_database;User Id=your_user;Password=your_password;sslmode=none;
请按照上述方式调整连接字符串后重试连接。如果问题依旧存在,考虑到可能有其他配置或网络因素影响,建议进一步检查网络环境、确认RDS实例的访问控制设置(特别是IP白名单和安全组规则),以及检查MySQL服务端的SSL相关配置是否需要对应调整。在所有自我排查措施无效的情况下,应及时联系售后技术支持获取专业帮助。