-
mysql 5.7 한 서버에 여러 인스턴스 실행하기Linux 2018. 7. 9. 13:35
개발중이거나 테스트의 목적으로. 한 서버에 여러개의 mysql 을 한 서버에 가동해야할 필요가 있을때가 있다.
mysql 가동시 메모리를 많이 사용하므로 가동할 인스턴스의 수만큼 메모리를 충분히 확보해 두어야 한다.
(mysql 설치에 대한 부분은 이 문서에서 다루지 않는다.)
1. /etc/my.cnf 파일을 편집기로 연다.
# vi /etc/my.cnf
#------------------------------------------------------------------------------
[mysqld@1]
#------------------------------------------------------------------------------
user=mysql
server-id=101
port=3307
datadir=/abc/mysql_repo_3307
socket=/var/lib/mysql/mysql_3307.sock
log-error=/abc/mysql_repo_3307/error.log
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8mb4_general_ci"
init_connect="SET NAMES utf8mb4"
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
interactive_timeout = 2592000
wait_timeout = 2592000
max_user_connections = 100
max_connections = 100
innodb_buffer_pool_size = 100M
innodb_file_per_table = 1
#------------------------------------------------------------------------------
[mysqld@2]
#------------------------------------------------------------------------------
user=mysql
server-id=102
port=3308
datadir=/abc/mysql_repo_3308
socket=/var/lib/mysql/mysql_3308.sock
log-error=/abc/mysql_repo_3308/error.log
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8mb4_general_ci"
init_connect="SET NAMES utf8mb4"
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
interactive_timeout = 2592000
wait_timeout = 2592000
max_user_connections = 100
max_connections = 100
innodb_buffer_pool_size = 100M
innodb_file_per_table = 1
datadir, socket, log-error 등 환경에 맞추어 다른 인스턴스와 겹치지 않도록 값을 설정해 준다.
(단, 설정 제목[] 의 형태는 반드시 [mysql@?????]의 형식으로 지정한다. ?부분은 문자열도 가능하다.)
2. mysql 인스턴스 가동
# systemctl start mysqld@1
# systemctl start mysqld@2
설정 제목으로 인스턴스를 가동한다. 이때 에러가 발생하지 않아야 하며, 에러 발생시엔 환경설정에
지정했던 log-error 파일을 편집기로 열어 메시지를 확인하고 문제사항을 처리해 주어야 한다.
3. 각 인스턴스에 접속
# mysql -u root -h 127.0.0.1 -P3306 -p
인스턴스의 포트번호를 지정하여 인스턴스에 접속 할 수 있다.
'Linux' 카테고리의 다른 글
Centos NFS 서버 설치 및 윈도우에서 접속 (2) 2018.07.17 centos7 aws cli를 이용하여 s3로 백업하기. (0) 2018.07.16 aws ec2 ssh 패스워드 접속 허용 (0) 2018.06.16 centos7 에서 docker 최신 버젼 설치 (0) 2018.05.19 centos7 에 gitlab 설치 (0) 2018.04.04