본문 바로가기

잡다구리/서버

[Linux] MariaDB 바이너리 설치 방법

 

 

바이너리 설치 방법은 회사 내부망에 서버를 운영해야 할때 주로 사용한다. 사실 yum으로 마리아 DB를 설치하는것이 

훨씬 더 쉽고 간편하지만, 고객사의 운영서버가 내부망이고, yum을 설치하더라도 네트워킹을 할수 없기 때문에

바이너리 설치 방법을 사용해야 했다.


1. 파일 준비 

 

우선 첫번째로 파일을 준비한다. 

보통 서버로 사용할 VM의 운영체제를 확인해서 그에 맞는 파일을 준비해야한다.

 

나는 RHEL 8.2 버전을 사용해야 했기 때문에 MariaDB의 호환성을 확인한 결과 

10.3.23 버전부터 RHEL 8버전을 호환하기 때문에 사이트에서 다운로드 받았다.

 

mariadb-10.3.23- linux-systemd -x86_64.tar 파일을 준비한 후 이미지 파일로 변환을 하고 

usb에 담는다.

 

이때 궁금했던 내용이 Binary 설치와 Compile 설치의 차이점에 대해서 몰랐었는데, 

바이너리 설치는 Compile이 된 상태로 tar.gz 만 unarchive하면 바로 bin 폴더에 실행파일이 생성된다.

그리고 /etc/my.cnf 파일의 작업 계획서 대로 설치를 진행한다.

 

하지만, 컴파일 설치는 Compile 역시 make를 통해 직접 컴파일을 실행하여야 하고, 그래서 파일의 용량이 굉장히 적다.

나는 바이너리 설치를 할것이다. 왜냐? 컴파일을 하려면, 패키지 의존성을 굉장히 신경 많이 써야하는데, 바이너리 설치는 

그 면에서 굉장히 유리하다.

 

파일준비가 끝났으면, 작업순서 대로 작업을 하겠다.

 

2. 작업 순서

# tar Extract archive

# group, user add
# group, owner change
# Mysql Configuration file make

# install mariadb

# service start mariadb

 

 

# tar Extract archive

shell > tar -zxvf mariadb-10.3.23- linux-systemd -x86_64.tar /prod/usr/local/

에 압축을 풀어준다.

 

# group, user add

shell> groupadd mysql
shell> useradd -g mysql mysql

 

# group, owner change

shell> cd /prod/usr/local/ 

shell> chown -R mysql .

shell> chgrp -R mysql .

 

# Mysql Configuration file make

shell> vi /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
port={{ mysql_port }}


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

 

 

그다음엔 mysql 폴더 안에서 설치와 서비스를 실행시킨다.

# install mariadb

shell> cd /prod/usr/local/mysql

shell> scripts/mysql_install_db --user=mysql --default-files=/etc/my.cnf  

# service start mariadb

shell> bin/mysqld_safe --user=mysql &

 

bin 폴더의 mysqld_safe --user=mysql & 이 명령어는 혹시 나중에 mysql.sock 파일이 사라졌을떄

실행해주면 다시 생긴다. (꿀팁)

 

설치가 완료된후에는 , mysql 서비스를 시작하는 서비스 파일을 /etc/systemd/system/ 안으로 가져와야하는데 

mysql 설치를 하면 그 폴더안에 존재한다.

 


bin/ mysql.service 
bin/ mysqld.service 
support-files/systemd/ mariadb.service

 

다음과 같은 3개의 파일을 /etc/systemd/system/ 으로 복사한다.

 

shell> cp -p 파일이름1 /etc/systemd/system/

shell> cp -p 파일이름2 /etc/systemd/system/

shell> cp -p 파일이름3 /etc/systemd/system/

 

그후 

shell> systemctl start mariadb 로 서비스를 시작한다.

shell> cd /usr/local/mysql

shell> ./bin/mysql -u root -S /var/lib/mysql/mysql.sock