Zou J 2024-01-03 13:47 采纳率: 50%
浏览 167
已结题

Unity连接Mysql数据库出现报错:TlsException:Handshake failed -error code:UNITYTLS INTERNAL ERROR

Unity连接Mysql数据库出现报错:TlsException:Handshake failed -error code:UNITYTLS INTERNAL ERROR,verify result:UNITYTLS X509VERIFY NOT DONE,如下图。

img

我的版本:unity版本2021.3.23;VS2019,且在项目管理NuGet程序包里面安装了8.0.30版的Mysql.Data;在Unity-Plugins下拖入了C盘里-MySQL Connector Net 6.9.10-v4.5-Mysql.Data.dll;Mysql Server版本如下:

img

img


下面是代码,在mysql.open()这里开始报错。应该是Unity申请调用Mysql数据库被拒绝了,才会显示握手错误,但不知道怎么解决,求大家帮帮忙。

img

img

  • 写回答

8条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-03 13:50
    关注

    参考C知道给出的答案:

    根据错误提示,问题似乎出在SSL/TLS握手上。这通常是由于某种原因导致Unity无法验证与MySQL服务器间的SSL连接。
    一种可能的解决方式是在连接字串中关闭SSL。请注意,这只能在你对网络环境有足够信任,且知道存在潜在安全风险的情况下使用。以下是禁用SSL的连接字串示例:

    string connStr = "server=localhost;user=root;database=database;port=3306;password=yourpassword;SslMode=none";
    
    

    另一种解决方式是检查你的MySQL服务器是否配备了有效的SSL证书。
    如果只是做本地开发或测试,一般禁用SSL即可。但如果是真实的生产环境,建议你花时间研究并解决SSL问题,以保证连接的安全。
    此外,关于Unity与MySQL的连接,由于Unity的环境特殊,直接连接数据库并不是一种推荐的做法,通常我们会通过中间层,例如一个Web服务器,这个服务器来处理和数据库的所有交互,然后将结果返回给Unity客户端。这样可以极大地提升应用的安全性和稳定性。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 1月11日
  • 已采纳回答 1月3日
  • 创建了问题 1月3日