가이드
운영 가이드 07. MariaDB 보안 초기화, DB/계정 생성, 백업 복원
MariaDB 설치 후 `mysql_secure_installation`, 데이터베이스와 계정 분리, UTF8MB4 기본값, `mysqldump` 백업과 복원까지 운영 기본 흐름을 정리했습니다.
웹 운영에서 가장 흔한 실수는 애플리케이션마다 DB 계정을 분리하지 않고 root만 계속 쓰는 것입니다.
MariaDB는 설치 후 보안 초기화, 애플리케이션 전용 DB와 사용자 생성, 정기 백업 흐름을 초기에 같이 잡아두는 편이 좋습니다.
보안 초기화
- root 계정 인증 방식과 비밀번호 정책 확인
- 익명 사용자 제거
- 원격 root 로그인 제한
- test 데이터베이스 제거
- 권한 테이블 다시 불러오기
sudo mysql_secure_installation애플리케이션용 DB와 사용자 생성
서비스별로 DB와 계정을 나눠 두면 백업, 권한 회수, 장애 격리가 쉬워집니다.
sudo mariadbCREATE 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).sqlgunzip -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 연동을 이어서 보면 됩니다.