반응형
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 |