데이터베이스 설치하기 (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
정기 백업과 내려받는 방법은 서버 데이터 백업하기를 참고하세요.