Unity에서 MySql, Maria DB를 사용하려면 별도의 DLL 파일이 있어야 사용이 가능합니다.
MySql DB에서 사용되는 .dll 파일로 Maria DB도 같은 파일로 사용이 가능합니다.
1. MariaDB 다운로드
2. MySql 닷넷용 Connector 다운로드
3. MySql.Data.dll 설치 후 삽입
4. MariaDB 구동
1. Unity에 호환이 가능한 MariaDB Community Server 10.5.10 다운로드
https://dlm.mariadb.com/browse/mariadb_server/
사이트에서 운영체제에 맞는 버전 "mariadb-10.5.10-winx64.msi"을 설치해줍니다.
TIP !
현재 유니티에서 MariaDB를 지원하는 버전이 위에 버전이 지원하는 버전 마지막이기 때문에 해당 버전을 다운로드하여 설치를 진행해 주시면 됩니다.
주의사항 !
기존에 Mysql 서버가 설치가 되어있는 경우 The TCP Port you selected is already in use. Please choose a different port 에러가 발생할 수 있습니다. 이런 경우 네트워크 " 시작 > 서비스 " 에 들어가서 mysql을 찾아 더블클릭 후 시작유형을 사용 안 함으로 하고 적용을 해줍니다.
User Settings에서는 Root 계정의 패스워드를 지정해 주고 "Use UTF8 as default server's character set"를 체크해 설정을 완료해주세요.
설치가 완료되었다면
1) 시작 > MySQL Client를 실행시켜 설치 때 등록했던 비밀번호를 입력 후 접속 결과를 확인합니다.
2) HeidiSQL를 실행 시켜 로그인을 해서 접속을 확인합니다.
접속 후에는 툴을 이용해 직접 Database를 생성하고 Table을 생성해서 관리를 직접 하실 수 있습니다.
2. MySql 닷넷용 Connector 다운로드
Unity에서 MariaDB를 사용하기 위해서는 MySql.Data.dll을 참조해야 사용이 가능합니다.
해당 사이트에서 "mysql-connector-net-8.0.25.msi"버전을 다운받습니다.
https://downloads.mysql.com/archives/c-net/
설치를 마치게되면 "C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.25\Assemblies\v4.5.2" 해당 경로에 "MySql.Data.dll"파일을 Unity 프로젝트에 넣을 준비를 합니다.
3. Unity에 Plugins폴더에 MySql.Data.dll 파일 임포트
(2.)에서 추출한 MySql.Data.dll 파일을 Unity 프로젝트에 Plugins 폴더를 만들어 임포트를 진행합니다.
주의사항 !
Unity Plugins 폴더에 dll 파일을 임포트 했을 때 이런 애러가 뜨는 경우가 있습니다.
Assembly "Assets/Plugins/MySql.Data.dll" will not be loaded due to errors : Unable to resolve reference "Google.Protobuf" .Is the assembly missing or incompatible
위 오류는 위에서 말씀드렸다시피 Unity 버전에 호환이 되지 않는 dll 파일이라는 것입니다.
버전에 맞게 끔 다운로드해서 임포트 하시면 됩니다.
혹시 그래도 안되시면 제가 쓰고 있는 파일로 다운로드하셔서 임포트 하시면 됩니다.
4. MariaDB 구동 테스트
우선 MariaDB 연동테스트를 진행하기 위해서는 샘플 Database와 Table이 있어야겠죠?!
간단하게 HeidiSQL툴을 이용해서 샘플 Database와 Table을 생성해서 진행합니다.
연동을 위한 C# 코드 작성
using MySql.Data.MySqlClient;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MariaDBTest : MonoBehaviour
{
private void Start()
{
Debug.Log("Connection Test : " + ConnectionTest());
}
public bool ConnectionTest()
{
string conStr = string.Format("Server={0};Database={1};Uid ={2};Pwd={3};",
"127.0.0.1", "testdb", "root", "root");
try
{
using (MySqlConnection conn = new MySqlConnection(conStr))
{
conn.Open();
}
return true;
}
catch (Exception e)
{
Debug.Log("e : " + e.ToString());
return false;
}
}
}
간단하게 코드를 작성하고 Unity와 MariaDB 연동상태를 확인합니다.
이렇게 간편하게 Unity와 MariaDB 연동 방법에 대해서 간편하게 알아보았습니다.
이후에 MariaDB 데이터를 추출하기 위한 문법에 대해서 설명해 드리도록 하겠습니다.