본문 바로가기
Work/Server

[Centos] MariaDB 바이너리 설치 (yum없이 tar.gz설치)

Centos서버에 인터넷이없는 보안을 갖춘 환경 DB를 설치하거나

RPM ,yum  등의 사용이 불가한 환경에 설치해야하거나

여러 인스턴스를 올려야하는 특수한 상황에 설치하는 경우

 

바이너리 파일(tar.gz)만을 가지고 설치해야하므로, 설치를 진행해보자

yum으로 원하는 버전을 설치하는 방법은 여기를 참조하시기 바랍니다.

 

[Server]Centos7 - MariaDB 10.4.17 설치 (yum 사용)

DB설치전에 검토사항들이 많이있다. 어떤 버전으로 설치할것인지 내가 사용하는 리눅스 버전에 맞게, 설치하려는 버전에 맞게 Repo를 설정하고 설치해야한다. 필자의 서버는 Centos 7.8이며, MariaDB v

bangu4.tistory.com

  • 목차
    • 1. 설치파일 준비
    • 2. 압축풀기
    • 3. install 및 초기화
    • 4. mariadb 실행
    • 5. 루트비번 초기화

 

0. 설치전 사전 작업사항

 

 

 

1. 설치파일 준비

downloads.mariadb.org/mariadb/

 

MariaDB - MariaDB

MariaDB 10.2 Series MariaDB 10.2 is a stable (GA) release series of MariaDB. It is built on MariaDB 10.1 with features from MySQL 5.6 & 5.7, and entirely new features not found anywhere else. See "What is MariaDB 10.2?" for an overview.

downloads.mariadb.org

 

해당 페이지에서 자신이 설치한 MariaDB 버전과, 서버환경에 맞게 tar.gz파일을 다운받아

서버에 올려줍니다.

 

 

 

2.  압축풀기

원하는 위치에 파일을 옮겨두고, 

소유자를 변경하여 압축을 풀어줍니다 (tar -zxvf).

그리고 폴더를 적절한 이름으로 바꿔줍니다.

sudo mv mariadb-10.3.8-linux-x86_64.tar.gz 목적지

sudo chown -R mysql:mysql mariadb-10.3.8-linux-x86_64.tar.gz

tar -zxvf mariadb-10.3.8-linux-x86_64.tar.gz

mv mariadb-10.3.8-linux-x86_64 mysql

 

사용성을 위해 /usr/local 밑에 링크를 걸어줍니다.

ln -s ./mysql  /usr/local/mysql

 

 

 

3. 설치 및 초기화

설치를 위해서는 scripts 밑에 mysql_install_db를 실행하면 되지만.

실행전에 몇가지 작업사항이 있습니다.

 

3-1 환경변수 등록

mysql의 실행을 위해서 모든계정이 ssh로그인시 실행되는 /etc/profile에 환경변수를 등록해주자

sudo vi /etc/profile

아래와 같이 MARIADB_HOME과 bin을 path에 추가해줍니다.

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


저장후 바로 적용

source /etc/profile

 

이제 mysql 설치 및 초기화도 어떤 경로에서든지 가능하고, 접속 및 실행도 가능하다 

 

3-2 my.cnf 수정

mysql 초기화 및 설치작업시 기본적으로 바라볼 설정파일을 잘 만들어주고 값을 주어 실행시켜줘야하므로,

반드시 my.cnf를 잘 만들어주어야 합니다.

my.cnf 에서 인코딩, 대소문자 구분, sql_mode설정, 커밋 여부 등을 설정할수 있습니다.

vi /etc/my.cnf

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

# 쌍따음표 사용
sql_mode="ANSI_QUOTES,ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

# 대소문자 구분
lower_case_table_names=1

# commit read option
autocommit=0

# 데이터 저장경로
basedir=/fsdbdata/mysql
datadir=/fsdbdata/mysql

# 포트 변경
# port = 3307


등의 자신이 원하는 내용을 추가해줍니다.

 

이젠 진짜 설치 및 초기화를 할 수 있다.

 

 

3-3 mysql_install_db 실행

아래 실행시 mariadb 계정으로 하길 권장합니다.

$MARIADB_HOME/scripts/mysql_install_db --defaults-path=/etc/my.cnf --user=mysql 

 

중요한건 basedir, datadir에 해당계정이 읽고쓸수있는 권한이 있는지 소유자인지

확인후 진행해 주셔야 합니다.

포트변경시 해당포트를 사용중이진 않은지 체크해주시고, 

위에 스크립트 실행시 에러가 났다면, 설정파일에 문제가 있는경우일수 있습니다.

 

 

 

 

4. 서버실행

yum설치와 달리 systemd에 설정이 안되있어,

서버시작시 실행될수있도록 설정해주며 시스템에  support-files/mysql.server 파일을 등록해줍시다.

cp -rfp $MARIADB_HOME/support-script/mysql.server /etc/init.d/mariadb

chkconfig --add mariadb

-- 2345 레벨에서 모두 실행 on
chkconfig --level 2345 mysqld on



service mysqld stop

service mysqld start

 

 

 

 

5. Root 비번 설정

-- 비번 설정
mysqladmin -u root password 설정할 비번

-- 접속
mysql -uroot -p설정한 비번

참고로 '계정명'@'localhost' 와  '계정명'@'%' 모든 아이피 접속허용된 계정은 별

개의 계정으로 관리되기때문에,

혼동하지마시고 , 하나의 계정을 쌍으로 만들어서 권한관리 해주셔야 합니다. 

 

 

 

처음 바이너리 설치를 진행해보았는데, 

순서에 맞게 잘 작성된건지 의구심이 들기도합니다.

서버가 잘 기동되긴했지만, mariadb계정을 굳이 만들어 관리할 필요가 무엇인지

아직 잘 모르겠고, 혹여 설치시 빠진 주의사항이라든지가 더 있을수 있으니, 보시고 궁금하신거나, 수정사항이 있다면

댓글 남겨주시면 감사하겠습니다.