CentOS 7에서 MariaDB RPM을 이용한 로컬 설치 방법

이 문서는 CentOS 7 환경에서 외부 저장소 접근 속도 문제로 인해 YUM을 통한 원격 설치가 어려운 경우, 대안으로 MariaDB를 로컬에서 직접 RPM 패키지를 사용하여 설치하는 과정을 설명합니다. VMWare 기반의 가상 머신에 CentOS 7이 설치된 환경을 기준으로 작성되었습니다.

1. 원격 설치 시도와 한계

MariaDB 공식 저장소를 활용한 YUM 설치를 시도했습니다. Alibaba Cloud의 yum 미러로 기본 리포지토리 파일을 백업 후 교체하고, MariaDB 공식 안내에 따라 /etc/yum.repos.d/MariaDB.repo 파일을 생성했습니다. 이후 다음 명령어로 설치를 시도했습니다:

sudo yum install MariaDB-server MariaDB-client

그러나 다운로드 속도가 지속적으로 2–4KB/s 수준으로 떨어졌으며, 네트워크 불안정으로 인해 설치가 반복적으로 실패했습니다. 이는 MariaDB의 기본 미러가 해외에 위치해 있기 때문으로 판단됩니다. 이미 많은 패키지가 캐시에 다운로드되었지만, 최종 설치 단계에서 계속 오류가 발생하자 다른 접근 방식이 필요하게 되었습니다.

2. 로컬 RPM 설치 전략

네트워크 의존성을 제거하기 위해 공식 사이트에서 모든 필요한 RPM 패키지를 사전에 다운로드한 후, 로컬에서 순차적으로 설치하는 방법을 선택했습니다. MariaDB 공식 다운로드 페이지(https://mariadb.com/downloads)에서 CentOS 7용 x86_64 바이너리 패키지를 압축 파일(.tar.gz) 형태로 다운로드하고, 이를 해제하면 여러 개의 RPM 파일이 포함된 디렉터리가 생성됩니다.

3. GPG 서명 검증

다운로드한 RPM 파일의 무결성과 신뢰성을 보장하기 위해 GPG 서명을 검증해야 합니다. 먼저 공식 키를 가져옵니다:

gpg --keyserver hkp://pgp.mit.edu --recv-keys 1BB943DB

다음으로 키를 ASCII 아머 형식으로 내보내고 시스템에 등록합니다:

gpg --export --armor 1BB943DB > mariadb-signing-key.asc
sudo rpm --import mariadb-signing-key.asc

등록된 키 확인:

rpm -qa gpg-pubkey*

모든 RPM 파일의 서명을 일괄 검사:

rpm --checksig $(find . -name '*.rpm')

검증 결과 'OK'로 표시되면 신뢰할 수 있는 패키지임을 확인한 것입니다.

4. 기존 MySQL 제거 및 의존성 준비

기존에 설치된 MySQL 관련 패키지가 있다면 충돌을 방지하기 위해 제거합니다:

rpm -qa 'mysql*'

출력된 패키지가 있다면 sudo rpm -e [패키지명]으로 제거합니다.

의존성 패키지를 미리 설치하여 나중에 발생할 수 있는 문제를 예방합니다:

sudo yum install rsync nmap lsof perl-DBI nc boost-devel.x86_64

5. RPM 패키지 순차 설치

다음과 같은 순서로 RPM 파일을 설치하는 것이 중요합니다. 의존성 관계에 따라 순서를 지켜야 합니다:

sudo rpm -ivh jemalloc-*.rpm
sudo rpm -ivh jemalloc-devel-*.rpm
sudo rpm -ivh MariaDB-*-common.rpm
sudo rpm -ivh MariaDB-*-compact.rpm
sudo rpm -ivh MariaDB-*.rpm
sudo rpm -ivh galera-*.rpm

의존성 오류가 발생하면 해당 라이브러리를 YUM으로 별도 설치합니다. 예를 들어:

  • libodbc.so.2() 누락 시:
    sudo yum install unixODBC
  • libJudy.so.1 누락 시: pkgs.org 등에서 Judy-1.0.5-8.el7.x86_64.rpm 다운로드 후 설치:
    sudo yum install Judy-1.0.5-8.el7.x86_64.rpm

6. 서버 및 클라이언트 설치 완료

핵심 구성 요소 설치 후, MariaDB 서버와 클라이언트를 마지막으로 설치합니다:

sudo rpm -ivh MariaDB-*-server.rpm
sudo rpm -ivh MariaDB-*-client.rpm

설치가 완료되면 시스템 서비스 등록:

sudo systemctl enable mariadb

7. 초기 보안 설정

기본 보안 설정을 수행합니다:

sudo mysql_secure_installation

루트 비밀번호 설정, 익명 사용자 제거, 테스트 데이터베이스 삭제, 원격 루트 로그인 차단 등의 옵션을 안내에 따라 진행합니다.

8. 서비스 시작 및 확인

MariaDB 서비스를 시작하고 상태를 확인합니다:

sudo systemctl start mariadb
sudo systemctl status mariadb

정상적으로 실행 중인지 확인 후, CLI로 접속 테스트:

mysql -u root -p

태그: MariaDB CentOS7 rpm Linux 설치 데이터베이스

6월 22일 22:32에 게시됨