CentOS MariaDB 오프라인 수동 설치 방법
매번 인터넷이 되는 환경에서 apt(Advanced Package Tool)를 통해 mariadb, mysql 등의 DBMS를 설치하다가 이번에 CentOS 7 폐쇄망 환경에서 mariadb를 수동으로 설치해 보게 되었는데요.
생각보다 시간이 좀 걸리기도 했고 앞으로 종종 설치할 일이 있을 것 같아 내용을 정리하게 되었습니다.
***
우선 폐쇄망이라고 할지라도 서버 내에 설치에 필요한 파일을 옮길 수는 있어야 한다는 전제조건이 있습니다.
(해당 예시에서도 서버에 'mariadb-10.10.7-linux-systemd-x86_64.tar.gz' 파일을 가지고 시작합니다.)
먼저 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 파일의 설정과 동일한 경로를 입력하면 됩니다.
다음과 같이 설치가 정상적으로 완료된 것을 확인할 수 있습니다.
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가 정상적으로 설치된 것을 확인할 수 있습니다.
< 참고 자료 >
https://change-words.tistory.com/entry/MariaDB-offline-install
'Programming > Linux' 카테고리의 다른 글
리눅스 vim(vi) 편집기 문자열 치환 명령어 정리 (0) | 2024.08.18 |
---|---|
ubuntu jdk tar.gz 설치 방법 (+ update-alternatives란) (0) | 2024.07.24 |
(Linux) Too many open files 에러가 발생하는 경우 (0) | 2023.10.18 |
Ubuntu (20.04.5 LTS) Apache2 웹 서버 설치하는 방법 (0) | 2023.05.15 |
리눅스 서버 시간 확인 및 설정 방법 (linux timedatectl 명령어) (0) | 2023.03.30 |