본문으로 건너뛰기
← 가이드 목록

데이터베이스 설치하기 (MariaDB / MySQL)

웹사이트나 봇에서 쓸 데이터베이스를 Ubuntu 서버에 설치하는 방법입니다. MariaDB는 MySQL과 사용법이 거의 같아 대부분의 MySQL 자료를 그대로 쓸 수 있습니다.

1. 설치

sudo apt update
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadb

2. 기본 보안 설정

sudo mariadb-secure-installation

질문이 나오면 아래처럼 답하면 무난합니다.

  • 익명 사용자 삭제(Remove anonymous users) → Y
  • root 원격 로그인 차단(Disallow root login remotely) → Y
  • 테스트 DB 삭제(Remove test database) → Y

3. 앱 전용 DB와 계정 만들기

앱에서는 root 대신 그 앱 전용 계정을 쓰는 것이 안전합니다.

sudo mariadb
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myapp'@'localhost' IDENTIFIED BY '길고-복잡한-비밀번호';
GRANT ALL PRIVILEGES ON myapp.* TO 'myapp'@'localhost';
FLUSH PRIVILEGES;
EXIT;

앱 설정에는 아래 값을 넣습니다.

  • 호스트: localhost (또는 127.0.0.1) / 포트: 3306
  • DB 이름: myapp / 계정: myapp / 비밀번호: 위에서 정한 값

⚠️ DB를 인터넷에 열지 마세요

DB 포트(3306)가 외부에 열려 있으면 전 세계에서 자동화된 로그인 시도가 하루 종일 들어옵니다. 특히 root 계정에 짧은 비밀번호를 쓰면 금방 뚫립니다.

  • 앱과 DB가 같은 서버에 있다면 외부 접속이 필요 없습니다. Ubuntu의 MariaDB는 기본적으로 서버 안(127.0.0.1)에서만 접속을 받으니 그대로 두세요.
  • 내 PC의 DB 관리 프로그램(HeidiSQL, DBeaver 등)으로 접속하고 싶다면 포트를 열지 말고 SSH 터널을 쓰세요. 대부분의 프로그램에 "SSH 터널" 설정 칸이 있고, SSH 접속 정보만 넣으면 됩니다.
  • Docker로 DB를 띄웠다면 Docker 가이드의 방화벽 주의 내용을 꼭 확인하세요.

4. 백업

sudo mysqldump myapp > myapp-$(date +%F).sql

정기 백업과 내려받는 방법은 서버 데이터 백업하기를 참고하세요.

해결되지 않는 문제가 있다면 고객센터로 문의해주세요.