Dev/DataBase
[MariaDB] 다중 인스턴스 실행
nakanara
2021. 3. 25. 01:24
반응형
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 #다중인스턴스
반응형