본문 바로가기
Dev/DataBase

[MariaDB] 다중 인스턴스 실행

by nakanara 2021. 3. 25.
반응형

MariaDB를 이용하여 하나의 인스턴스만을 실행하였는데, 캐릭터 셋이 다른 관계로 DB 인스턴스가 추가로 필요한 상황이 발생

1. my.cnf 수정

$ vi /etc/my.cnf

설정 주의 사항

  • pid-file, socket, port, datadir, log-error 해당 인스턴스에 고유해야 함(폴더 분리)
  • mysqld 뒤에는 구분할 수 있는 정수 입력
[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = multi_admin
password   = multipass


[mysqld3306]
user            = mysql
pid-file        = /var/run/mysqld/mysqld3306.pid #
socket          = /var/run/mysqld/mysqld3306.sock
port            = 3306
basedir         = /usr
datadir         = /data/mariadb3306
tmpdir          = /tmp
log-error       = /var/log/mysql/error3306.log


[mysqld3307]
user            = mysql
pid-file        = /var/run/mysqld/mysqld3307.pid
socket          = /var/run/mysqld/mysqld3307.sock
port            = 3307
basedir         = /usr
datadir         = /data/mariadb3307
tmpdir          = /tmp
log-error       = /var/log/mysql/error3307.log

2. 폴더 생성

$ mkdir /data/mariadb3306
$ mkdir /data/mariadb3307

$ chown -R mysql:mysql /var/lib/mysql3307
$ chown -R mysql:mysql /var/lib/mysql3308

3. 데이터베이스 초기화

$ mysql_install_db --user=mysql --datadir=/data/mariadb3306 --basedir=/usr
$ mysql_install_db --user=mysql --datadir=/data/mariadb3307 --basedir=/usr

4. DB 실행

# 전체 시작 / 중지
$ mysqld_multi start    
$ mysqld_multi stop    

# 별도 시작 / 중지
$ mysqld_multi start 3306 
$ mysqld_multi stop 3306 

$ mysqld_multi start 3307 
$ mysqld_multi stop 3307 

# 프로세스 확인 방법
$ netstat -antp | grep mysql

5. 접속 방법

포트를 분리하였기 때문에 접속하고자 하는 DB의 포트를 함께 입력해야지 접속이 가능합니다.

$ mysql -h127.0.0.1 -P3306 -u root -p
$ mysql -h127.0.0.1 -P3307 -u root -p

참고

#mariadb #multi #instance #다중인스턴스

반응형

'Dev > DataBase' 카테고리의 다른 글

[MariaDB] 더미데이터 - 날짜 만들기  (0) 2021.05.06
[MariaDB] 패스워드 초기화  (0) 2021.05.04
[MariaDB] 컬럼명 추출  (0) 2021.02.03
[Oracle] SID/Service Name  (0) 2021.01.10
[MariaDB] 문자셋 변경 utf8 -> utf8mb4  (2) 2021.01.08