가이드

운영 가이드 07. MariaDB 보안 초기화, DB/계정 생성, 백업 복원

MariaDB 설치 후 `mysql_secure_installation`, 데이터베이스와 계정 분리, UTF8MB4 기본값, `mysqldump` 백업과 복원까지 운영 기본 흐름을 정리했습니다.

우분투 관리자 2026.05.03 조회 270

웹 운영에서 가장 흔한 실수는 애플리케이션마다 DB 계정을 분리하지 않고 root만 계속 쓰는 것입니다.

MariaDB는 설치 후 보안 초기화, 애플리케이션 전용 DB와 사용자 생성, 정기 백업 흐름을 초기에 같이 잡아두는 편이 좋습니다.

보안 초기화

  • root 계정 인증 방식과 비밀번호 정책 확인
  • 익명 사용자 제거
  • 원격 root 로그인 제한
  • test 데이터베이스 제거
  • 권한 테이블 다시 불러오기
sudo mysql_secure_installation

애플리케이션용 DB와 사용자 생성

서비스별로 DB와 계정을 나눠 두면 백업, 권한 회수, 장애 격리가 쉬워집니다.

sudo mariadb
CREATE DATABASE appdb
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPasswordHere!';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

접속 확인과 기본 점검

mariadb -u appuser -p appdb
SHOW DATABASES;
SHOW GRANTS FOR 'appuser'@'localhost';

백업과 복원

백업이 있다는 사실보다 실제로 복원이 되는지가 더 중요하므로, 작은 데이터베이스라도 한 번은 복원 테스트를 해 보는 편이 좋습니다.

mysqldump -u appuser -p --databases appdb > /backup/appdb-$(date +%F).sql
gzip /backup/appdb-$(date +%F).sql
gunzip -c /backup/appdb-2026-05-03.sql.gz | mariadb -u appuser -p appdb

운영 중 자주 보는 로그와 상태

sudo systemctl status mariadb
sudo journalctl -u mariadb -n 100 --no-pager
mariadb --version

마무리 메모

데이터베이스 생성까지 끝났다면 이제 애플리케이션은 root가 아닌 전용 계정으로 연결해 두는 흐름이 준비된 상태입니다.

브라우저 기반 DB 관리가 필요하면 다음 글의 phpMyAdmin 설치와 Nginx 연동을 이어서 보면 됩니다.