一、连接准备

1. MySql.Data插件

  • Visual Studio中下载
  • 打开Visual Studio_项目_管理NuGet程序包
  • 浏览中搜索MySql.Data并下载

2.MySql官网下载插件

  • 前提已经安装mysql,然后到官网下载以下三个东西(最好不要使用最新版本)
    • MySQL Connector Net
    • Connector ODBC 8.0
    • MySQL for VIsaul Studio
  • 下载完直接双击(傻瓜式)安装即可

3.连接测试(可选)

  • 打开Visual Studio_视图_服务器资源管理器

  • 在弹出的窗口,右键数据连接,选择添加连接

  • 选择MySQL Database,点击继续

  • 输入数据库地址、账号、密码、数据库名,然后点击测试连接

  • 弹出对话框“测试连接成功”,则可进入下一步

二、Unity链接MySql

1.在Unity中导入dll文件

  • dll如下(共五个)
    • 如果不打包exe文件,仅需导入最后一个dll文件即可

在路径:C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.7\Assemblies\v2.0中找到MySql.Data.dll导入Unity中Plugins文件夹下

对应Unity的安装目录:Unity\Editor\Data\MonoBleedingEdge\lib\mono\unityjit;找到其余dll文件

2. 创建数据库,内容如下:

3. 编写查询脚本进行测试

public void InquireMysql(){//数据库地址、用户名、密码、数据库名string sqlSer = "server = localhost;port = 3306;database = test;user = root;password = 123456";//建立连接MySqlConnection conn = new MySqlConnection(sqlSer);try{conn.Open();Debug.Log("------链接成功------");//sql语句string sqlQuary = " select * from mytable";MySqlCommand comd = new MySqlCommand(sqlQuary, conn);MySqlDataReader reader = comd.ExecuteReader();while (reader.Read()){//通过reader获得数据库信息Debug.Log(reader.GetString("user_name"));Debug.Log(reader.GetString("user_password"));}}catch (System.Exception e){Debug.Log(e.Message);}finally{conn.Close();}}

运行结果:

4. 编写插入脚本进行测试

  • 修改,删除处理在此脚本基础上修改SQL语句即可
public void ChangedMysql(){//数据库地址、用户名、密码、数据库名string sqlSer = "server = localhost;port = 3306;database = test;user = root;password = 123456";MySqlConnection conn = new MySqlConnection(sqlSer);try{conn.Open();Debug.Log("------链接成功------");string sqlQuary = "insert into mytable(user_name,user_password) values (@user_name, @user_password)";MySqlCommand comd = new MySqlCommand(sqlQuary, conn);comd.Parameters.AddWithValue("@user_name", "用户名");comd.Parameters.AddWithValue("@user_password", "密码");comd.ExecuteNonQuery();}catch (System.Exception e){Debug.Log(e.Message);}finally{conn.Close();}}

运行结果:

三、问题处理

1.打包后无法连接数据库

  • 首先确认所需的五个dll文件是否已经全部导入
  • 在Unity中去修改Api Compatibility Level为.NET 4.x

路径:Project Setting->player->othersetting->Configuration->Api Compatibility Level

  • 如果Unity版本是2018及以前的,还需要导入System.Data.dll和System.Drawing.dll两个文件;

2.遇到其他问题欢迎读者提出