
이번에는 Oracle Cloud에서 Database를 구동하려고 한다. 여기서는 오픈 소스로 공개되는 MariaDB를 사용하기로 한다.
Oracle Cloud에서 Database를 서비스로도 제공하지만, VM Instance에서 직접 MariaDB 서버를 돌리는 방법을 설명하겠다.
sudo apt install mariadb-server mariadb-client -y

mariadb --version
서비스 상태 확인
sudo systemctl status mariadb
자동 실행 설정
sudo systemctl enable mariadb
sudo mysql_secure_installation
Enter current password for root (enter for none)→ 아직 설정된 root 비밀번호가 없으므로 바로 엔터를 눌러 넘어간다.
Switch to unix_socket authentication→ Y
Change root password?→ N : root는 localhost만 접속 가능하므로 root 비밀번호를 설정하지 않고 넘어간다.
Remove anonymous users?→ Y
Disallow root login remotely?→ Y
Remove test database and access to it?→ Y
Reload privilege tables now?→ Y
sudo mariadb
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER '유저 아이디'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON mydb.* TO '유저 아이디'@'%';
FLUSH PRIVILEGES;
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 127.0.0.1 줄을 찾아서 bind-address = 0.0.0.0로 변경한다.
sudo systemctl restart mariadb
Oracle Cloud의 Security Rules에서 TCP 3306 포트를 열어준다. 자세한 설명은 이전 글에서 설명했다.

HeidiSQL같이 SQL에 접속할 수 있는 유틸리티에서 IP, 유저정보, 포트를 기입하고 접속한다.

DB에 접속하고 나서는 SQL을 Excute하거나 수정하는 등, 일반적인 DB를 사용하듯 사용하면 된다.
유니티로 제작된 Embers를 제작하면서 DB 패키지를 MySql.Data.dll로 사용하고 있었는데 이게 어떤 문제가 있는건지 VM Instance에 올려서 접근하니까 계속 문자셋 오류가 발생했다.
문제에 대해 찾아보니 MySqlConnector를 사용하라는 정보가 있어 이 방식으로 변경했더니 오류가 해소됐었다.
MySqlConnector 설치에 관해서는 아래 글을 참고했다.
MySqlConnector 설치 방법 : https://itgongbu.tistory.com/32
혹시나 DB 접근에 문제가 발생했다면 MySqlConnector로 변경해보길 바란다.
이번에는 Oracle Cloud VM Instance에서 DB 서버를 돌리는 방법에 대해 알아보았다. 이 글에서 사용된 MariaDB가 아니어도 다른 DBMS도 비슷한 방식으로 구동할 수 있으니 참고하길 바란다.