2025년 12월 14일

이번에는 Oracle Cloud에서 Database를 구동하려고 한다. 여기서는 오픈 소스로 공개되는 MariaDB를 사용하기로 한다. Oracle Cloud에서 Database를 서비스로도 제공하지만, VM Instance에서 직접 MariaDB 서버를 돌리는 방법을 설명하겠다.
MariaDB Installation & Settings
- powershell로 VM Instance에 ssh 접속하여 아래 명령어를 입력한다.
자동으로 일련의 과정이 진행되면서 MariaDB servr와 client가 설치된다.
sudo apt install mariadb-server mariadb-client -y

- 정상적으로 설치됐는지 확인한다.
mariadb --version
서비스 상태 확인
sudo systemctl status mariadb자동 실행 설정
sudo systemctl enable mariadb설치 확인과 자동 실행 설정을 완료했으면 기본 보안 설정을 진행해야 한다.
sudo mysql_secure_installationEnter 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
보안 설정을 완료했으면 mariadb에 접속한다.
sudo mariadb원격에서 접속할 유저를 생성한다.
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER '유저 아이디'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON mydb.* TO '유저 아이디'@'%'; FLUSH PRIVILEGES;
6. 외부 접속 허용 설정을 하기 위해 설정 파일에 접근한다.sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 127.0.0.1 줄을 찾아서 bind-address = 0.0.0.0로 변경한다.
MariaDB를 재시작한다.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도 비슷한 방식으로 구동할 수 있으니 참고하길 바란다.