1、MySQL下载安装运行
详见:MySQL下载安装运行
2、使用mysql-connector-net
(1)官方下载地址:https://downloads.mysql.com/archives/c-net/,下载后直接双击安装即可。
提示:不要使用版本过高的connector,不然会跟unity版本匹配不上。
(2)下载完成后,找到其安装目录,可以看到相关的版本文件夹,我本地路径如下,进入使用的版本文件夹中,把MySql.Dat.dll拖入Unity资源的Plugins文件夹中。
此时,如果Unity报错,类似下方图片,则把拖入MySql.Dat.dll的文件夹中的相关配置文件或dll拖进来。像我这个需要System.Memory,我是选用了本机C:\Users\Administrator\.nuget\packages\system.memory\4.5.3\lib\netstandard1.1路径下的文件,就不报错了。如果在相关路径下没有找到,可以试下VS的相关dll。(如果有更好的解决办法,可以在评论区分享一下)
(3)关于MySQL connector net的安装卸载问题
这个问题极其毒瘤,因为mysql-connector-net用一般方法是卸载不了的,它自带保护文件,卸载到一半时会自动回调,这个东西电脑管家和360都卸载不了,这个时候我们需要另外一个软件Uninstall Tool,自行百度下载即可,如果用这个软件卸载完成后还存在“此产品的配置信息损坏,请联系相关的技术人员”时,再下载一个Microsoft Program Install and Uninstall,然后就可以解决了。
参考:于unity2019.3.2f1连接mysql8.0.19-win64数据库的问题
(4) 在Unity的安装目录下,如下路径的位置(选择好版本),把这几个dll放入Unity资源的Plugins文件夹中,防止打包出来连不上数据库。
3、此时准备工作就做好了,下面使用代码进行连接
参考:https://blog.csdn.net/qq_34168988/article/details/116356852
MySqlConnection mycon;
void MySQLDBConnect()
{
//建立连接语句
string constr = string.Format("server = {0};port={1};database = {2};User Id = {3};password = {4};", "localhost", "3306", "ProjectsDB", "root", "123456");
//建立连接
mycon = new MySqlConnection(constr);
//打开连接
mycon.Open();
Debug.Log(mycon.State.ToString());
var dataSet = ExecuteQuery("select * from Projects");
foreach (DataRow mDr in dataSet.Tables[0].Rows)
{
foreach (DataColumn mDc in dataSet.Tables[0].Columns)
{
if (mDc.ColumnName == "ProjectItem")
Debug.Log(mDr[mDc].ToString());
}
}
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public void Close()
{
if (mycon != null)
{
mycon.Close();
mycon.Dispose();
mycon = null;
}
}
/// <summary>
/// 执行sql语句
/// </summary>
/// <param name="sqlString">sql语句</param>
/// <returns></returns>
public DataSet ExecuteQuery(string sqlString)
{
if (mycon.State == ConnectionState.Open)
{
DataSet ds = new DataSet();
try
{
MySqlDataAdapter da = new MySqlDataAdapter(sqlString, mycon);
da.Fill(ds);
}
catch (Exception ee)
{
throw new Exception("SQL:" + sqlString + "/n" + ee.Message.ToString());
}
finally
{
}
return ds;
}
return null;
}