이 문서는 MySQL의에서 데이터베이스 복제를 설정하는 방법에 대해 설명한다.
MySQL의 복제는 (예를 들어 우리가 slave로 호출 할 수 있습니다) 다른 서버에있는 마스터 서버에서 데이터베이스의 정확한 복사본을 가져올 수 있으며, 마스터 서버의 데이터베이스에 대한 모든 업데이트를 즉시 때문에 슬레이브 서버의 데이터베이스에 복제된다. 두 데이터베이스가 동기화되어있다.
이는 갑작스러운 실수, 삭제 명령, 또한 슬레이브 수행 등을 변경시키는 이슈 때문에 만드는 백업 방법 또는 정책은 아니다; 하지만 복제는 비록 하드웨어 고장으로부터 시스템을 보호 할 수 있습니다.
Configure The Master:
우리는 MySQL의 설정 파일있는 /etc/my.cnf을 사용하여 복제를위한 마스터 서버를 구성 할 수 있다.
우리는 MySQL의 네트워킹을 활성화해야하고, MySQL은 모든 IP 주소에서 수신해야 한다.
그러므로 우리는 (이미 my.cnf 파일에 존재하는 경우) 이 라인을 주석 처리한다.
#skip-networking #bind-address = 127.0.0.1 |
이제 우리는 로그를 기록해야하는 데이터베이스의 MySQL 서버를 (이 로그 마스터에 변경된 내용을 확인하기 위해 슬레이브가 사용하는)구성해야 한다.
우리는 이 MySQL 서버를 마스터로 지정해야한다. 데이터베이스 db_test를 복제하기 원하고, 그래서 우리는 /etc/my.cnf에 다음 줄을 넣는다.
log-bin binlog-do-db=db_test server-id=1 |
그리고 MySQL의를 다시 시작
# /etc/rc.d/init.d/mysql restart |
그 다음 우리는 루트로 MySQL 데이터베이스에 로그인 및 복제 권한을 가진 사용자를 작성해야한다
mysql> GRANT REPLICATION SLAVE ON *.* TO 'u1@%' IDENTIFIED BY 'p1'; mysql> FLUSH PRIVILEGES; |
(여전히 MySQL의 셸) 다음을 수행하십시오
mysql> USE db_test; mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; |
다음과 같이 샘플 마스터 상태가 될 것 :
mysql> show master status; +----------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +----------------+----------+--------------+------------------+ | rs2-bin.000063 | 79 | db_test | | +----------------+----------+--------------+------------------+ 1 row in set (0.00 sec) |
우리는 슬레이브 구성은 다음 MySQL의 쉘을두고 나중에이 정보가 필요합니다 :
mysql> quit; |
Configure The Slave:
우리는 파일있는 /etc/my.cnf을 사용하여 복제에 대한 슬레이브 서버를 구성 할 수 있다.
우리는 마스터가 H1인 것을, 슬레이브에서 MySQL에게 얘기해야하고, 마스터 데이터베이스 보는 것은 db_test이다.
그러므로 우리는 /etc/my.cnf에 다음 줄을 추가한다.
server-id=2 master-host=H1 master-user=u1 master-password=p1 master-connect-retry=100 replicate-do-db=db_test |
마스터 사용자 및 마스터 암호는 우리가 마스터에서 복제 SLAVE 권한을 부여 할 때 우리가 설정되는 것들이다.
서버 ID는 마스터 또는 시스템의 다른 노예와 다른 고유 번호이어야한다.
마스터가 다운되면슬레이브가 다시 연결을 시도하는 마스터 연결 재 시도는 시간 (초)입니다. 60초은 기본값이다.
그리고 MySQL을 다시 시작
# /etc/rc.d/init.d/mysql restart |
다음 단계는 다음 글에서 이어집니다.
Data Transfer:
Replication in action:
Options:
Testing:
by lee ji eun
'2. DBMS이야기 > 02. MySQL' 카테고리의 다른 글
MySQL Index 유형별 적용 (0) | 2014.10.31 |
---|---|
Busy한 MySQL 서버에서 Deadlock Troubleshooting (0) | 2014.10.30 |
MySQL 클러스터 퍼포먼스 최적화 방법 (0) | 2014.09.15 |
MySQL 클러스터의 성능을 최적화하기 위한 기본 지식 (0) | 2014.09.01 |
MySQL 설치 후 최적화 (query_cache_size, log_bin, skip_name_resolve) (0) | 2014.08.28 |