티스토리 뷰
mysqld_multi: How to run multiple instances of MySQL
---------------------------------------------------------------- 각각 다른 폴더 반복
cp -R mysql-5.7.15-linux-glibc2.5-x86_64 /data1/mysql1
mkdir -p /data1/mysql1/mysqldatafile
chown -R mysql:mysql /data1
chmod -R 755 /data1
cd /data1/mysql1/bin
./mysqld_safe --defaults-file=/data1/mysql1/my.cnf --user=mysql &
vi /data1/mysql1/mysqldatafile/mysql1d.log root / 임시비밀번호 확인
2016-11-12T04:50:43.419736Z 1 [Note] A temporary password is generated for root@localhost: EGv1IiXh%D:I
2016-11-12T04:51:13.932957Z mysqld_safe The file /usr/local/mysql/bin/mysqld
/data1/mysql1/bin/mysql -uroot -p --socket=/tmp/mysql1-3306.sock / DB로그인확인
1. mysql 인스턴스 확인(/data1/mysql1, /data2/mysql2, /data3/mysql3)
[root@ ~]# ps aux | grep mysqld
root 701 0.0 0.0 107464 956 pts/4 S+ 08:46 0:00 grep mysqld
root 4666 0.0 0.0 108332 8 ? S Nov12 0:00 /bin/sh /data2/mysql2/bin/mysqld_safe --datadir=/data2/mysql2/mysqldatafile --pid-file=/tmp/mysql2d.pid
mysql 4961 0.7 0.0 1514676 35352 ? Sl Nov12 16:45 /data2/mysql2/bin/mysqld --basedir=/data2/mysql2 --datadir=/data2/mysql2/mysqldatafile --plugin-dir=/data2/mysql2/lib/plugin --user=mysql --log-error=/data2/mysql2/mysqldatafile/mysql2d.log --pid-file=/tmp/mysql2d.pid --socket=/tmp/mysql2-3307.sock --port=3307
root 5011 0.0 0.0 108332 8 ? S Nov12 0:00 /bin/sh /data3/mysql3/bin/mysqld_safe --datadir=/data3/mysql3/mysqldatafile --pid-file=/tmp/mysql3d.pid
mysql 5306 0.5 0.0 1514676 31400 ? Sl Nov12 13:17 /data3/mysql3/bin/mysqld --basedir=/data3/mysql3 --datadir=/data3/mysql3/mysqldatafile --plugin-dir=/data3/mysql3/lib/plugin --user=mysql --log-error=/data3/mysql3/mysqldatafile/mysql3d.log --pid-file=/tmp/mysql3d.pid --socket=/tmp/mysql3-3308.sock --port=3308
mysql 7000 0.2 0.0 1990460 252416 pts/1 Sl Nov13 3:58 /data1/mysql1/bin/mysqld --basedir=/data1/mysql1 --datadir=/data1/mysql1/mysqldatafile --plugin-dir=/data1/mysql1/lib/plugin --user=mysql --log-error=/data1/mysql1/mysqldatafile/mysql1d.log --pid-file=/tmp/mysql1d.pid --socket=/tmp/mysql1-3306.sock --port=3306
root 14993 0.0 0.0 106372 1144 pts/1 S Nov12 0:00 /bin/sh /data1/mysql1/bin/mysqld_safe --datadir=/data1/mysql1/mysqldatafile --pid-file=/tmp/mysql1d.pid
2. SSH 통한 접속방법
/data1/mysql1/bin/mysql -uroot -p --socket=/tmp/mysql1-3306.sock
/data2/mysql2/bin/mysql -uroot -p --socket=/tmp/mysql2-3307.sock
/data3/mysql3/bin/mysql -uroot -p --socket=/tmp/mysql3-3308.sock
3. 서비스 확인
[root@ ~]# netstat -nlp |grep mysql
tcp 0 0 :::3306 :::* LISTEN 7000/mysqld
tcp 0 0 :::3307 :::* LISTEN 4961/mysqld
tcp 0 0 :::3308 :::* LISTEN 5306/mysqld
unix 2 [ ACC ] STREAM LISTENING 88841 7000/mysqld /tmp/mysql1-3306.sock
unix 2 [ ACC ] STREAM LISTENING 22892 4961/mysqld /tmp/mysql2-3307.sock
unix 2 [ ACC ] STREAM LISTENING 23167 5306/mysqld /tmp/mysql3-3308.sock
4. 엔진구동방법
1) 서비스 등록
[MYSQL_HOME]/support-files/mysql.server
cp mysql.server /etc/init.d/mysqld1
2) 서비스 시작/정지
/etc/init.d/service mysqld1 start/stop
/etc/init.d/service mysqld2 start/stop
/etc/init.d/service mysqld3 start/stop
---------------------------------------------------------------------------
http://xinet.kr/?p=978 - 5.7설치
http://dev.mysql.com/doc/refman/5.7/en/mysqld-multi.html
https://www.percona.com/blog/2014/08/26/mysqld_multi-how-to-run-multiple-instances-of-mysql/
https://docs.xtremecenter.co.kr/pages/viewpage.action?pageId=9340206
http://forum.falinux.com/zbxe/?mid=lecture_tip&page=4&document_srl=570713
http://jnetwork.kr/bbs/board.php?bo_table=useguide&wr_id=131
---------------------------------------------------------------------------
[Linux_MySQL] mysql 다중 서버 관리
운영체제 : Linux, Unix, Windows 등
홈페이지 : www.mysql.com
라이센스 : 상업용, GPL
소속 : 리눅스포털(주)수퍼유저코리아
제작자 : 이재석
1. mysql 다중 서버란 ?
mysqld를 소켓과 포트 데이터베이스를 달리하여
여러개의 MySQL 서버를 구동하는 것을 말한다.
myqld_safe를 이용하는 방법과 mysql_multi를 이용하는
두가지 방법이 있다.
하지만 mysqld_safe를 이용하는 것은 번거로은 면이 많아
실행시 주의를 요한다.
2. mysql 다중서버운영시 장단점
- 장애시 전체 디비서버에 영향을 미치지 않는다.
- 각 디비서버별 root사용자를 지정할 수 있다.
- 서로 상이한 설정의 디비서버를 같은 장비에서 운영가능하다.
- 하나의 mysqld로 서비스가 포화 상태인 경우
3. myqld_safe를 이용하는방법
추가로 컴파일할 필요없이 기존에 사용하는 mysqlDB를 그대로
이용가능하다.
[첫번째 mysqld의 설정파일]
[client]
port = 3306
socket = "/tmp/mysql.sock"
[mysqld]
port = 3306
socket = "/tmp/mysql.sock"
[두번째 mysqld의 설정파일]
[client]
port = 3307
socket = "/tmp/mysql2.sock"
[mysqld]
port = 3307
socket = "/tmp/mysql2.sock"
[첫번째 mysqld 실행]
# mysqld_safe --defaults-file=/etc/my.cnf &
[두번째 mysqld 실행]
# mysqld_safe
--defaults-file=/etc/my1.cnf
--pid-file=/usr/local/mysql/data/hostname.pid1
--socket=/tmp/mysql.sock1
--skip-network &
[첫번째 mysqld 접속 방법]
mysql -u [username] -p [databasename]
[두번째 mysqld 접속 방법]
mysql -u [username] -p -S [/path/to] [databasename]
4. mysql_multi를 이용하는방법 - 두개 설치(?) 해야 할듯함
[설정 방법]
[client]
(생략)...
[mysql]
(생략)...
[mysqld]
default-character-set = euc_kr
skip-name-resolve
skip-network ## only localhost access
datadir = /usr/local/mysql/data
language = /usr/local/mysql/share/mysql/english
user = mysql
(생략)...
[mysqld_multi]
mysqld = /usr/local/mysql/bin/safe_mysqld
mysqladmin = /usr/local/mysql/bin/mysqladmin
#user = root
[mysqld1]
socket = /tmp/mysql.sock1
port = 3307
datadir = /usr/local/mysql/data1
pid-file = /usr/local/mysql/data1/mysqld1.pid
log = /usr/local/mysql/data1/mysqld1.log
[mysqld2]
socket = /tmp/mysql.sock2
port = 3308
datadir = /usr/local/mysql/data2
pid-file = /usr/local/mysql/data2/mysqld2.pid
log = /usr/local/mysql/data2/mysqld2.log
[myisamchk]
(생략)...
[mysqladmin]
(생략)...
[mysqldump]
(생략)...
[실행방법]
mysql_multi 사용법
mysql_multi [OPTIONS] {start|stop|report} [GRN,GRN...]
전체 MySQL 서버실행시
mysqld_multi start
특정 MySQL 서버 실행시
mysqld_multi start 1
[다중서버 관리자 추가 하기]
#mysql -u root -S /tmp/mysql.sock -proot_password -e
"GRANT SHUTDOWN ON *.* TO multi_admin@localhost
IDENTIFIED BY 'multipass'"
위와 같이 멀티서버 어드민을 지정하여 사용가능하나 root를 사용하면 됨으로
필수 사항은 아니다.
[첫번째 mysqld 접속 방법]
mysql -u [username] -p -S [/path/to] [databasename]
[두번째 mysqld 접속 방법]
mysql -u [username] -p -S [/path/to] [databasename]
'Database' 카테고리의 다른 글
[MYSQL]사용자 계정생성 (0) | 2016.11.11 |
---|---|
[MYSQL]패스워드 변경 (0) | 2016.11.11 |
[MYSQL]ROWNUM (0) | 2016.10.21 |
[MYSQL]Fabric 설치 및 HA 구성 (0) | 2016.10.17 |
[ORACLE]ORU-10027: buffer overflow (0) | 2016.10.10 |
- Total
- Today
- Yesterday
- 테이블
- DATABASE
- 오라클
- eclipse
- server
- mssql
- 데이터
- DB
- user
- apache
- 윈도우
- 서버
- Toad
- 백업
- tomcat
- IP
- Windows
- MySQL
- sql
- java
- 파일
- 자동차
- Oracle
- select
- delete
- Linux
- Shell
- 설정
- table
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |