一、总述
在主机02上,我们拉取了MySQL的Docker镜像并成功部署了容器,完成了相关的配置。为了确保数据的互通性,我们在主机01上利用Navicat工具成功连接到了这个Docker容器中的MySQL服务。此外,我们在Unity环境中编写了代码,以实现用户登录信息的传输与处理功能,确保用户能够通过Unity应用与MySQL数据库进行交互。
参考的内容:
二、docker远程连接
具体就参考以上的文章,没遇到问题。密码:123456
三、Unity登录成功后,向docker容器内的mysql添加登录信息
基于之前的工作,补充了一部分代码。
补充的代码如下:
private string anotherServerName = "192.168.1.8";
private string anotherDbName = "dockersql"; // 另一个数据库名
private string anotherUserName = "root"; // 另一个数据库的用户名
private string anotherPassword = "123456"; // 另一个数据库的密码
private string anotherPort = "3306"; // 另一个MySQL服务的端口号
...
InsertLoginInfoToAnotherDatabase(username, DateTime.Now);
...
private void InsertLoginInfoToAnotherDatabase(string username, DateTime loginTime)
{
string connectionString = "Server=" + anotherServerName + ";Database=" + anotherDbName + ";Uid=" + anotherUserName + ";Pwd=" + anotherPassword + ";Port=" + anotherPort + ";";
using (MySqlConnection anotherConnection = new MySqlConnection(connectionString))
{
try
{
anotherConnection.Open();
string query = "INSERT INTO loginnotes(username, logintime) VALUES (@username, @logintime)";
MySqlCommand cmd = new MySqlCommand(query, anotherConnection);
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@logintime", loginTime);
cmd.ExecuteNonQuery();
Debug.Log("登录信息已添加到另一个数据库。");
}
catch (Exception ex)
{
Debug.LogError("向另一个数据库添加登录信息时出错: " + ex.Message);
}
finally
{
anotherConnection.Close();
}
}
}
四、结果展示
主机01上的unity可以往主机02上运行的docker容器的mysql添加信息,实现通信