JUST WRITE

MariaDB 설치 본문

Database

MariaDB 설치

천재보단범재 2023. 1. 9. 23:24

Binary로 MariaDB 설치

MariaDB 설치

MariaDB는 yum, apt로 쉽게 설치가 가능하다.

이번 포스팅에서는 공식 홈페이지에서 Binary를 Download로 하여 설치하는 과정을 정리하였다.

MariaDB Download

공식 홈페이지에서 MariaDB 다운로드가 가능하다.

이번 포스팅에서는 10.6.9 버전으로 설치를 진행하였다.

공식 홈페이지에서 MariaDB Server를 적절한 버전과 OS를 선택하여 다운로드한다.

$ wget https://archive.mariadb.org/mariadb-10.6.9/bintar-linux-systemd-x86_64/mariadb-10.6.9-linux-systemd-x86_64.tar.gz
$ tar xzf mariadb-10.6.9-linux-systemd-x86_64.tar.gz

Configuration

Data 폴더 세팅

Database를 설치하는 것이기 때문에 Data path를 세팅하는 것이 가장 중요하다.

Data 저장할 path는 다른 데이터는 쓰지 않는 전용 disk에 따로 세팅하였다.

해당 path를 MariaDB 설치 path에 link를 두어 경로를 정리하였다.

$ cd /home/manager/apps/mariadb-10.6.9

# /u01이 Mariadb 전용 disk랑 mount한 path
$ chown -R manager:manager /u01/manager/mariadb_data
$ ln -s /u01/manager/mariadb_data data

DB Configuration

MariaDB 설정 파일은 보통 my.cnf 파일명으로 생성한다.

$ cd /home/manager/apps/mariadb-10.6.9
$ mkdir conf
$ vi ./conf/my.cnf

주요한 설정은 아래와 같다.

  • MariaDB Port
  • Data Path
  • Log 설정

자세한 설정값은 아래 공식 홈페이지에서 확인 가능하다.

 

Configuring MariaDB with Option Files

Configuring MariaDB with my.cnf and other option files.

mariadb.com

이번 포스팅에서는 아래와 같이 설정해 보았다.

[client]
port=3306
socket=/home/manager/apps/mariadb-10.6.9/mysql.sock

[mariadb]
port=3306
bind-address=0.0.0.0
basedir=/home/manager/apps/mariadb-10.6.9
binlog-format=mixed
datadir=/home/manager/apps/mariadb-10.6.9/data
tmpdir=/home/manager/apps/mariadb-10.6.9/tmpdir
innodb_log_group_home_dir=/home/manager/apps/mariadb-10.6.9/logs
socket=/home/manager/apps/mariadb-10.6.9/mysql.sock
user=manager

binlog_format = mixed
expire_logs_days = 3
long_query_time = 10
max_binlog_size = 1G
sync_binlog = 1
slow_query_log = 1
log-bin = /home/manager/apps/mariadb-10.6.9/logs/bin/mariadb-bin
log-error = /home/manager/apps/mariadb-10.6.9/logs/error/mariadb.err
relay-log = /home/manager/apps/mariadb-10.6.9/logs/relay/relay-log
slow_query_log_file = /home/manager/apps/mariadb-10.6.9/logs/slow/mariadb-slow-query.log
general_log_file = /home/manager/apps/mariadb-10.6.9/logs/general/mariadb-general.log
log-warnings = 2

[mysqld_safe]
pid-file=/home/manager/apps/mariadb-10.6.9/mysqld.pid

위에서 보면 알 수 있듯이 추가적으로 Temp폴더와 log 폴더를 생성해야 한다.

$ cd /home/manager/apps/mariadb-10.6.9
$ mkdir tmpdir
$ mkdir logs

$ cd logs
$ mkdir bin && mkdir error && mkdir relay && mkdir slow && mkdir general

Start

이제 모든 설정이 끝나고 MariaDB 설치를 진행한다.

위 설정파일을 기준으로 아래 Command를 통해 설치를 진행한다.

설치 진행 후 Data path에 가면 파일이 생성되어 있는 것을 확인할 수 있다.

$ cd /home/manager/apps/mariadb-10.6.9
$ ./scripts/mysql_install_db --defaults-file=/home/manager/apps/mariadb-10.6.9/conf/my.cnf --user=manager

설치가 끝나고 MariaDB Process를 실행한다.

ps 명령어 정상적으로 실행된 것을 확인할 수 있다.

$ cd /home/manager/apps/mariadb-10.6.9
$ ./bin/mysqld_safe --defaults-file=/home/manager/apps/mariadb-10.6.9/conf/my.cnf --user=manager &

$ ps -ef | grep mariadb
manager  24236 15859  0 08:49 pts/5    00:00:00 /bin/sh bin/mysqld_safe --defaults-file=/home/manager/apps/mariadb-10.6.9/conf/my.cnf --user=manager
manager  24350 24236  0 08:49 pts/5    00:00:00 /home/manager/apps/mariadb-10.6.9/bin/mariadbd --defaults-file=/home/manager/apps/mariadb-10.6.9/conf/my.cnf --basedir=/home/manager/apache/mariadb --datadir=/home/manager/apps/mariadb-10.6.9/mysql --plugin-dir=/home/manager/apps/mariadb-10.6.9/lib/plugin --log-error=/home/manager/apps/mariadb-10.6.9/logs/mysqld.log --pid-file=/home/manager/apps/mariadb-10.6.9/mysqld.pid --socket=/home/manager/apps/mariadb-10.6.9/mysql.sock --port=3306
manager  50133 15859  0 09:06 pts/5    00:00:00 grep mariadb

status && stop

설정파일을 보면 pid파일이 생성된다.

pid 파일을 통해 간단한 status 체크와 Process를 shut down 시킬 수 있다.

# status check
$ ps -ef | grep $(cat /home/manager/apps/mariadb-10.6.9/mysqld.pid)

# shutdown
$ kill $(cat /home/manager/apps/mariadb-10.6.9/mysqld.pid)

local 접속

local 접속은 아래 명령어로 접속 가능하다.

$ /home/manager/apps/mariadb-10.6.9/bin/mysql --socket=/home/manager/apps/mariadb-10.6.9/mysql.sock -u root -p

다음 포스팅에서는 MariaDB Log에는 어떤 것들이 있는지 자세히 정리해보려 한다.

728x90
반응형

'Database' 카테고리의 다른 글

Stored Procedure  (0) 2022.01.02
Transaction  (0) 2021.11.23
Normalization vs Denormalization  (0) 2021.11.16
DBMS vs RDBMS  (0) 2021.11.02
Index  (0) 2021.11.01
Comments