unity 与数据库mysql连接的注意事项

(1)unity 中mysql 8.0 与mysql connector net 6.10.7较为适配;

 随着MySQL 8.0的发布,MySQL引入了新的默认身份验证插件caching_sha2_password,以提高安全性。然而,这可能导致与旧版客户端或某些编程语言库的不兼容性问题。如果你遇到连接错误,提示与caching_sha2_password有关。考虑更新你的mysql connector net。
经过测试,mysql 8.0 与mysql connector net 6.10.7不存在这个问题;且,mysql 8.0与mysql connector net 7.0.2及以上均不适配

(2)unity连接MySQL数据库时,提示SSL Authentication Error连接失败。

解决方法,在连接字符串中添加SslMode=none;AllowPublicKeyRetrieval=True;即可。

(3)示例 连接语句

private MySqlConnection connection;
    public void Init()
    {
        string sqlString = "server=localhost;user=root;password=123456;database=yuan;SslMode=none;AllowPublicKeyRetrieval=True;";
        connection = new MySqlConnection(sqlString);
        try
        {
            connection.Open();
        }
        catch (System.Exception e)
        {
            Debug.Log("数据库连接失败" + e.Message);
        }
    }
    public void Close()
    {//关闭与服务器数据库的连接;
        connection.Close();
    }

(4)mysql connector 下载相关链接:MySQL :: Download MySQL Connector/NET (Archived Versions)

Unity连接MySQL数据库通常需要通过第三方库来完成,因为Unity本身并不直接支持SQL数据库连接。一个常用的解决方案是使用`Newtonsoft.Json`库处理JSON数据交换,配合`MySQL.Data`或`MySqlConnector`这样的MySQL.NET驱动。 以下是简单的步骤: 1. **安装NuGet包**: - 在Unity项目中打开Package Manager Console (Window > Package Manager > Package Manager Console)。 - 运行以下命令安装`Newtonsoft.Json`: ``` Install-Package Newtonsoft.Json ``` - 对于MySQL驱动,你可以选择其中任意一个: - `MySql.Data`: `Install-Package MySql.Data` - 或者 `MySqlConnector`: `Install-Package MySqlConnector` 2. **配置数据库连接**: 在Unity中创建一个脚本,例如`DatabaseManager.cs`,编写代码来设置数据库连接信息: ```csharp using System.Collections.Generic; using UnityEngine; using Newtonsoft.Json.Linq; using MySql.Data.MySqlClient; public class DatabaseManager : MonoBehaviour { private MySqlConnection connection; // 替换为你的数据库连接字符串 private const string connectionString = "server=your_server;user id=your_username;password=your_password;database=your_database"; void Start() { TryConnect(); } private void TryConnect() { connection = new MySqlConnection(connectionString); if (connection.Open()) { Debug.Log("Connected to MySQL successfully!"); } else { Debug.LogError($"Failed to connect: {connection.LastError}"); } } // 示例方法:执行查询并返回Json对象 private JObject ExecuteQuery(string query) { using (var command = new MySqlCommand(query, connection)) { var reader = command.ExecuteReader(); return JObject.Parse(reader.ReadToEnd()); } } } ``` 3. **在场景中使用**: 创建脚本需要的地方,调用`ExecuteQuery`方法执行SQL查询,并处理返回的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值