🐧 Rocky Linux 서버에 MariaDB 설치하는 방법 (실전 가이드)

— RHEL 계열 서버에서 가장 안정적인 오픈소스 DB 구축

“MariaDB는 MySQL의 대안이 아니라,
이제는 엔터프라이즈급 기본 선택지다.”


1️⃣ 사전 환경 확인

✔️ 지원 환경

  • Rocky Linux 8.x / 9.x
  • root 권한 또는 sudo 권한
  • 인터넷 연결 (내부망일 경우 로컬 repo 필요)
cat /etc/rocky-release

2️⃣ 패키지 업데이트 (권장)

sudo dnf update -y
sudo dnf install -y epel-release

💡 운영 서버에서는 정기 패치 정책에 따라 적용 여부 판단


3️⃣ MariaDB 설치 방법 선택

🔹 방법 A: Rocky Linux 기본 저장소 (안정성 우선)

sudo dnf install -y mariadb-server mariadb
  • 장점: 안정적, 테스트 충분
  • 단점: 최신 버전 아님 (Rocky 8 → MariaDB 10.3 계열)

🔹 방법 B: MariaDB 공식 Repository (최신 버전)

1) 공식 repo 설정

sudo tee /etc/yum.repos.d/MariaDB.repo <<EOF

[mariadb]

name = MariaDB baseurl = https://yum.mariadb.org/10.11/rhel8-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF

🔎 10.11LTS(Long Term Support) 버전
Rocky 9 사용 시 rhel9-amd64로 변경

2) 설치

sudo dnf install -y MariaDB-server MariaDB-client

4️⃣ MariaDB 서비스 시작 및 자동 실행 설정

sudo systemctl start mariadb
sudo systemctl enable mariadb

상태 확인:

systemctl status mariadb

5️⃣ 초기 보안 설정 (⚠️ 반드시 수행)

sudo mariadb-secure-installation

권장 설정 값

항목설정
root 비밀번호 설정✅ Yes
unix_socket 인증 사용❌ No (운영 편의성 고려)
익명 사용자 제거✅ Yes
원격 root 로그인 차단✅ Yes
test DB 삭제✅ Yes
privilege 테이블 reload✅ Yes

6️⃣ MariaDB 접속 테스트

mariadb -u root -p

버전 확인:

SELECT VERSION();

7️⃣ 기본 DB 및 사용자 생성 (운영 예시)

CREATE DATABASE appdb
  DEFAULT CHARACTER SET utf8mb4
  COLLATE utf8mb4_general_ci;

CREATE USER 'appuser'@'%' IDENTIFIED BY 'StrongPassword!';

GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'%';

FLUSH PRIVILEGES;

🔐 실제 운영에서는 % 대신 서버 IP 제한 권장


8️⃣ 방화벽 설정 (외부 접속 시)

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

확인:

sudo firewall-cmd --list-all

9️⃣ MariaDB 주요 설정 파일 튜닝

설정 파일 위치

/etc/my.cnf
/etc/my.cnf.d/server.cnf

운영용 기본 튜닝 예시

[mysqld]
bind-address = 0.0.0.0
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

max_connections = 300
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 1

적용 후 재시작:

sudo systemctl restart mariadb

🔐 10️⃣ 보안 강화 체크리스트 (운영 필수)

항목설명
root 원격 접속 차단로컬 접속만 허용
사용자별 권한 최소화DB 단위 권한 부여
정기 백업mysqldump, Proxmox/Vembu 연계
SSL/TLS내부/외부 통신 암호화
감사 로그query log / audit plugin 활용

💾 11️⃣ 백업 기본 예제

mysqldump -u root -p appdb > appdb_$(date +%F).sql

자동화(cron):

0 2 * * * /usr/bin/mysqldump -u root -p'password' appdb > /backup/appdb.sql

⚠️ 비밀번호는 스크립트에 직접 노출 금지
.my.cnf 사용 권장


🧯 12️⃣ 장애 대응 기본 명령

journalctl -u mariadb
mariadb-admin -u root -p status

포트 확인:

ss -ntlp | grep 3306

✅ 설치 완료 체크리스트

  • MariaDB 서비스 정상 기동
  • root 보안 설정 완료
  • 운영 DB 및 사용자 생성
  • 방화벽 설정
  • 기본 성능 튜닝
  • 백업 전략 수립

🎯 결론

Rocky Linux + MariaDB 조합은:

  • ✔️ RHEL 계열 최고의 오픈소스 DB 스택
  • ✔️ 안정성, 성능, 라이선스 부담 없음
  • ✔️ VM/컨테이너/클라우드 어디서든 동일하게 운영 가능

“중소·중견기업부터 엔터프라이즈까지
MariaDB는 이제 기본값(Default) 이다.”