CentOS 7에서 MariaDB 사용 기초 정리

CentOS 7에서 MariaDB를 다루는 레거시 랩 가이드입니다. CentOS 7 EOL 주의, mariadb-server 설치, mysql_secure_installation, DB/user 생성, SQL 기초와 백업을 정리했습니다.

CentOS 7은 2024년 6월 30일 EOL이 지났습니다. 따라서 새 MariaDB 서버를 CentOS 7에 구축하는 것은 권장하지 않습니다. 기존 레거시 서버를 점검하거나 폐쇄 랩에서 MariaDB 기초를 실습하는 용도로 정리합니다. 운영 환경은 RHEL/Rocky/Alma/Oracle Linux 8/9 이상 같은 지원 OS로 이전하는 것이 맞습니다.

설치와 시작

sudo yum install -y mariadb-server
sudo systemctl enable --now mariadb
sudo systemctl status mariadb --no-pager

MariaDB 공식 문서는 yum/dnf 설치 시 MariaDB repository 사용을 권장합니다. 다만 CentOS 7은 EOL이므로 실제 운영 버전 선택은 지원 범위를 먼저 확인해야 합니다.

초기 보안 설정

sudo mysql_secure_installation

익명 사용자 제거, test DB 제거, root 원격 로그인 제한 여부를 확인합니다.

DB와 사용자 생성

sudo mysql
CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'REPLACE_WITH_STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;

기본 SQL

USE appdb;

CREATE TABLE posts (
 id BIGINT PRIMARY KEY AUTO_INCREMENT,
 title VARCHAR(255) NOT NULL,
 body TEXT NOT NULL,
 created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO posts (title, body) VALUES ('hello', 'first post');
SELECT id, title, created_at FROM posts;

서비스와 로그

systemctl status mariadb --no-pager
journalctl -u mariadb -n 100 --no-pager
mysqladmin -u root -p status
mysql -e "SHOW VARIABLES LIKE 'version';"

백업

mysqldump --single-transaction --routines --triggers appdb > appdb.sql
mysql appdb_restore < appdb.sql

운영 주의사항

CentOS 7은 더 이상 일반 보안 업데이트를 받지 않으므로 인터넷 노출 DB로 사용하면 위험합니다. 레거시 서버라면 방화벽으로 접근 대역을 제한하고, 백업을 확인한 뒤 지원 OS와 최신 MariaDB로 이전 계획을 세워야 합니다.

공식 문서

BGM EVER