🔄
02 / 05
버전업
MariaDB 10.5에서 11.4 버전업 과정. EBS 마운트, 설치, 데이터 이관, 시퀀스 마이그레이션
MariaDB 11.4mysqldumpMigration
Migration
MariaDB 10.5 → 11.4 버전업
기존 MariaDB 10.5를 11.4로 버전업하는 과정이다. 인플레이스 업그레이드가 아닌, 신규 서버에 11.4를 설치하고 데이터를 이관하는 방식으로 진행했다.
EBS 볼륨 마운트
데이터용 EBS 볼륨을 별도로 붙여서 OS 볼륨과 분리했다. DB 데이터를 /data 경로에 저장한다.
# 디스크 확인 lsblk # 파일시스템 생성 sudo mkfs.xfs /dev/xvdf # 마운트 sudo mkdir -p /data sudo mount /dev/xvdf /data # fstab 영구 등록 echo '/dev/xvdf /data xfs defaults,nofail 0 2' | sudo tee -a /etc/fstab

MariaDB 11.4 설치
# MariaDB 공식 레포 추가 curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | \ sudo bash -s -- --mariadb-server-version="mariadb-11.4" # 설치 sudo yum install MariaDB-server MariaDB-client -y
주요 설정 (my.cnf)
[mysqld] datadir=/data/mysql port=[db-port] bind-address=0.0.0.0 # Replication (Master) server-id=1 log-bin=mysql-bin binlog-format=ROW log-slave-updates=ON gtid_strict_mode=ON # 성능 innodb_buffer_pool_size=8G innodb_log_file_size=1G innodb_flush_log_at_trx_commit=1 sync_binlog=1 # 문자셋 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci
server-id는 Master와 Replica가 반드시 달라야 한다. Master=1, Replica=2로 설정.
데이터 마이그레이션
mysqldump로 기존 데이터를 추출하고 신규 서버로 이관했다.
# 기존 서버에서 덤프 mysqldump -h [source-ip] -u [user] -p \ --single-transaction \ --routines --triggers --events \ --databases [db-name] > dump.sql # 신규 서버에서 import mysql -u root -p < dump.sql
시퀀스 마이그레이션
10.5에서 11.4로 넘어가면서 시퀀스 처리 방식이 달라졌다. 일반 덤프로는 시퀀스가 이관되지 않아서 별도 스크립트로 처리했다.
# 시퀀스 목록 추출
mysql -h [source-ip] -u [user] -p -e \
"SELECT TABLE_NAME FROM information_schema.TABLES \
WHERE TABLE_SCHEMA='[db-name]' AND TABLE_TYPE='SEQUENCE';" \
--skip-column-names > sequences.txt
# 시퀀스별 현재값 확인 후 생성
while read seq; do
val=$(mysql -h [source-ip] -u [user] -p -e \
"SELECT NEXTVAL($seq);" --skip-column-names)
mysql -u root -p -e \
"CREATE SEQUENCE IF NOT EXISTS [db-name].$seq START WITH $val;"
done < sequences.txt
DEV → PRD 적용
DEV 환경
- • 다운타임 약 30분
- • innodb_buffer_pool_size: 2G
- • 시퀀스 이관 이슈 발견 및 해결
- • deprecated 설정 경고 확인
- • 약 20~25% 성능 향상 확인
PRD 환경
- • EBS 스냅샷 + mysqldump 이중 백업
- • innodb_buffer_pool_size: 8G
- • 시퀀스 마이그레이션 스크립트 사전 준비
- • 롤백 계획 수립 (기존 서버 1주 유지)
- • 전환 후 24시간 집중 모니터링