[L] MariaDB 설치
💡 요약 정리
- MariaDB는 MySQL의 오픈소스 브랜치 버전으로 높은 호환성을 제공합니다
- cmake를 사용하여 소스 컴파일 설치를 진행합니다
- MySQL 5.5.x와 동일한 설치 절차를 따릅니다
- Aria, XtraDB 등 새로운 스토리지 엔진을 포함합니다
MariaDB는 MySQL의 또 다른 브랜치 버전으로, 오픈소스 정책을 유지하면서 향상된 기능을 제공하는 관계형 데이터베이스입니다.
1. MariaDB 소개
① MariaDB란?
**MariaDB는 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)**입니다.
주요 특징:
- MySQL과 동일한 소스 코드 기반
- GPL v2 라이선스
- MySQL API 및 명령과 완벽 호환
- 라이브러리 바이너리 교체 가능
② 개발 배경
오라클이 MySQL을 인수한 후 불확실한 라이선스 상태에 반발하여 만들어졌습니다.
배포 정책:
- 배포자는 Monty Program AB와 저작권 공유
- MySQL과의 높은 호환성 유지
- 교체 가능성(Drop-in replacement) 제공
③ 새로운 스토리지 엔진
Aria:
- 새로운 저장 엔진
- 트랜잭션 및 비트랜잭션 엔진 지원
XtraDB:
- InnoDB를 교체할 수 있는 스토리지 엔진
- 향상된 성능과 확장성
2. 설치 환경 준비
① 관련 패키지 설치
MariaDB 컴파일에 필요한 개발 도구와 라이브러리를 설치합니다.
# cmake 설치
yum install cmake
# 개발 도구 설치
yum install gcc.x86_64 gcc-c++.x86_64 wget.x86_64 \
bzip2-devel.x86_64 pkgconfig.x86_64 openssl-devel.x86_64 \
make.x86_64 man.x86_64 nasm.x86_64 gmp.x86_64 \
gdbm-devel.x86_64 readline-devel.x86_64 \
compat-readline43.x86_64 ncurses-devel.x86_64 \
db4-devel.x86_64 bison* automake* autoconf*
# ncurses 개발 라이브러리 설치
yum install ncurses-devel
필수 패키지 설명:
cmake: 빌드 시스템 생성 도구gcc, gcc-c++: C/C++ 컴파일러ncurses-devel: 터미널 UI 라이브러리openssl-devel: SSL/TLS 암호화 라이브러리
3. MariaDB 소스 다운로드
① 소스 파일 다운로드
cd /root/src
wget http://fossies.org/linux/misc/mariadb-5.5.34.tar.gz
참고:
- 최신 버전은 MariaDB 공식 사이트에서 확인
② 압축 해제
tar zxvf mariadb-5.5.34.tar.gz
cd mariadb-5.5.34
4. cmake를 통한 빌드 설정
① cmake 설정 실행
cmake \
-DWITH_READLINE=1 \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCMAKE_INSTALL_PREFIX=/home/mariadb \
-DMYSQL_DATADIR=/home/mariadb/data
주요 옵션 설명:
기본 설정:
-DCMAKE_INSTALL_PREFIX=/home/mariadb: 설치 경로-DMYSQL_DATADIR=/home/mariadb/data: 데이터 디렉토리
문자셋 설정:
-DDEFAULT_CHARSET=utf8: 기본 문자셋 UTF-8-DDEFAULT_COLLATION=utf8_general_ci: 정렬 규칙-DWITH_EXTRA_CHARSETS=all: 모든 문자셋 지원
스토리지 엔진:
-DWITH_ARIA_STORAGE_ENGINE=1: Aria 엔진 활성화-DWITH_XTRADB_STORAGE_ENGINE=1: XtraDB 엔진 활성화-DWITH_INNOBASE_STORAGE_ENGINE=1: InnoDB 엔진 활성화
② 컴파일 및 설치
make -j4
make install
옵션 설명:
-j4: 4개의 CPU 코어를 사용하여 병렬 컴파일- 시스템 코어 수에 맞게 조정 가능
예상 소요 시간:
- 컴파일: 약 10-30분 (시스템 사양에 따라 다름)
5. MariaDB 사용자 및 권한 설정
① mysql 그룹 및 사용자 생성
# mysql 그룹 생성
groupadd -g 27 -o -r mysql
# mysql 사용자 생성
useradd -M -g mysql -o -r \
-d /home/mariadb/data \
-s /bin/false \
-c "MariaDB" \
-u 27 mysql
매개변수 설명:
-M: 홈 디렉토리 생성 안 함-g mysql: mysql 그룹에 속함-r: 시스템 계정-d /home/mariadb/data: 데이터 디렉토리-s /bin/false: 로그인 셸 없음 (보안)
② 디렉토리 권한 설정
# 그룹 소유권 변경
chgrp -R mysql /home/mariadb
# 데이터 디렉토리 소유권 변경
chown -R mysql /home/mariadb/data
# MariaDB 디렉토리 소유권 변경
chown mysql:mysql /home/mariadb
③ 데이터베이스 초기화
cd /home/mariadb
sh /home/mariadb/scripts/mysql_install_db
기능:
- 시스템 데이터베이스 생성
- 기본 권한 테이블 생성
- root 계정 초기화
④ 최종 권한 설정
chown -R mysql:mysql /home/mariadb/data
6. 설정 파일 구성
① 설정 파일 복사
# 시작 스크립트 복사
cp -a /home/mariadb/support-files/mysql.server /etc/init.d/mysqld
# 설정 파일 복사
cp -a /home/mariadb/support-files/my-small.cnf /etc/my.cnf
설정 파일 종류:
my-small.cnf: 작은 규모 (RAM < 64MB)my-medium.cnf: 중간 규모 (RAM ~128MB)my-large.cnf: 큰 규모 (RAM ~512MB)my-huge.cnf: 매우 큰 규모 (RAM 1-2GB)