Programming/Linux

CentOS MariaDB 오프라인 수동 설치 방법 (tar.gz 파일)

Jan92 2024. 2. 1. 23:43

CentOS MariaDB 오프라인 수동 설치 방법

MariaDB 오프라인 수동 설치 방법

매번 인터넷이 되는 환경에서 apt(Advanced Package Tool)를 통해 mariadb, mysql 등의 DBMS를 설치하다가 이번에 CentOS 7 폐쇄망 환경에서 mariadb를 수동으로 설치해 보게 되었는데요.

생각보다 시간이 좀 걸리기도 했고 앞으로 종종 설치할 일이 있을 것 같아 내용을 정리하게 되었습니다.

 

***

우선 폐쇄망이라고 할지라도 서버 내에 설치에 필요한 파일을 옮길 수는 있어야 한다는 전제조건이 있습니다.

(해당 예시에서도 서버에 'mariadb-10.10.7-linux-systemd-x86_64.tar.gz' 파일을 가지고 시작합니다.)

 

https://mariadb.org/download

먼저 mariadb 다운로드 페이지에서 설치할 버전을 다운로드하여 설치할 폴더에 옮깁니다.

 


 

1. 그룹 및 사용자 추가

# 그룹 추가
groupadd mysql

# 사용자 추가
useradd -g mysql mysql

'groupadd' 명령어를 통해 그룹을 추가하고, 'useradd' 명령어를 통해 사용자를 추가합니다.

useradd 명령어의 '-g' 옵션은 그룹을 지정하는 데 사용되며, 지정할 그룹은 미리 생성되어 있어야 합니다.

(그룹과 사용자는 각각 '/etc/group' 파일과 '/etc/passwd' 파일을 통해 확인할 수 있습니다.)

 

 

# 압축 파일 소유권 변경
chown -R mysql:mysql mariadb-10.10.7-linux-systemd-x86_64.tar.gz

그룹 및 사용자 추가 이후 'chown' 명령어를 통해 압축 파일의 소유권을 변경합니다.

여기서 chown 명령어의 '-R' 옵션은 지정한 파일의 하위까지 소유권을 변경한다는 옵션('--recursive') 입니다.

 


2. 경로 및 이동 압축 풀기

# 압축 파일을 '/usr/local/' 경로로 이동
mv mariadb-10.10.7-linux-systemd-x86_64.tar.gz /usr/local/

# 압축 풀기
tar -zxvf mariadb-10.10.7-linux-systemd-x86_64.tar.gz

압축 파일을 '/usr/local' 경로로 이동하고 압축을 풀어줍니다.

 

* '/usr' 계층에서는 시스템이 아닌 사용자가 실행할 프로그램이 저장되며, 하위 디렉토리인 '/local'은 새로운 프로그램들이 설치되는 곳으로 윈도우 운영체제의 'Program Files' 디렉토리와 유사하다고 볼 수 있습니다.

 

 

# 심볼릭 링크 설정
ln -s /usr/local/mariadb-10.10.7-linux-systemd-x86_64 /usr/local/mysql

이어서 복잡한 디렉토리 경로를 좀 더 직관적으로 사용할 수 있도록 심볼릭 링크를 설정합니다.

 


3. MariaDB 환경변수 등록

# profile 파일 수정
vi /etc/profile

vi 명령어를 통해 '/etc/profile'을 열고 

 

# MariaDB
export MARIADB_HOME=/usr/local/mysql
export PATH=$PATH:$MARIADB_HOME/bin:.

위 내용을 추가로 입력하여 저장합니다.

여기서 'MARIADB_HOME' 경로는 위에서 압축 해제된 mariadb 폴더에 대해 심볼릭 링크를 설정한 경로입니다.

 

# 수정된 내용 반영
source /etc/profile

그리고 다음 명령을 통해 'profile'에 수정된 내용을 반영합니다.

 


4. my.cnf 수정

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_bin

basedir=/usr/local/mysql
datadir=/var/lib/mysql/data

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

mariadb 초기화 및 설치 작업에서 'my.cnf' 파일의 설정 값이 사용되기 때문에 설치 전 해당 파일을 다음과 같이 수정해 줍니다.

(해당 파일의 경로는 '/etc/my.cnf' 입니다.)

 

* 필요에 따라 원본 파일을 복사해 두고 my.cnf 파일을 수정하는 방법도 있습니다.

 


5. MariaDB 설치

# 설치 파일이 있는 경로로 이동
cd /usr/local/mysql/scripts

설치 파일이 있는 위 경로로 이동합니다.

 

# 설치 파일
./mariadb_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql/data

위 명령어와 같이 mariadb_install_db 파일로 mariadb를 설치합니다.

이때 'user(사용자)', 'basedir', 'datadir'을 설정하며 my.cnf 파일의 설정과 동일한 경로를 입력하면 됩니다.

 

 

Installing MariaDB/MySQL system tables in '/var/lib/mysql/data'

다음과 같이 설치가 정상적으로 완료된 것을 확인할 수 있습니다.

 


6. Systemd 서비스 등록 및 실행

# 해당 경로 이동
cd /usr/local/mysql/support-files/systemd

해당 경로로 이동하면 'mariadb.service' 파일이 존재하는 것을 확인할 수 있는데요.

vi 명령어를 통해 해당 파일의 내용 중 'User', 'Group' 부분을 위에서 생성한 사용자와 그룹으로 변경합니다.

 

# 서비스 등록을 위해 mariadb.service 파일을 복사
/cp mariadb.service /etc/systemd/system

그리고 cp 명령어를 통해 '/usr/local/mysql/support-files/systemd' 경로에 존재하는 'mariadb.service' 파일을 system 서비스로 등록하기 위해 '/etc/systemd/system' 경로로 복사합니다.

 

 

# mariadb 시작
systemctl start mariadb.service

# mariadb 중지
systemctl stop mariadb.service

# mariadb 상태 확인
systcmctl status mariadb.service

이제 systemctl start, stop, status 명령어를 통해 mariadb를 시작, 중지하고 상태를 확인할 수 있습니다.

 


7. mariadb 접속

폐쇄망 mariadb 설치 확인

다음과 같이 mariadb가 정상적으로 설치된 것을 확인할 수 있습니다.

 

 

 

< 참고 자료 >

https://change-words.tistory.com/entry/MariaDB-offline-install