티스토리 뷰

MySQL

mysql replication 설정방법(기본)

니플하임_ 2007.11.01 14:34
[참고]
http://dev.mysql.com/doc/refman/5.1/en/replication-howto-newservers.html

##  새롭게 서버를 설치한 상태이며, 데이타가 없는 상태에서의 Replication설정 입니다.
##  설정종료후 Master Server쪽에서 Data Import를 하면 두 서버가 동일한 데이타를 가지게 됩니다.
##  데이타가 존재하는 상태에서의 Replication 설정은 MySQL 홈페이지를 참조해 주십시요.

1. Replication Master Configuration
[mysql]
log-bin=mysql-bin
server-id=1

  # skip-networking 옵션은 꼭 Disable상태여야한다.


2. Master Server기동

   # 이미 1번의 세팅으로 작동하고 있는 서버의 경우 Skip!


3. Slave Server로 부터 Replication전용으로 쓰여질 User를 Master Server에 작성
mysql> CREATE USER userid IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)
  # userid에 호스트명을 입력하지 않으면 기본적으로 호스트는 %가 된다. 특정 호스트를 입력할 경우는
     userid@hostname 형식으로 userid를 설정한다.

   
4. 작성한 User에 REPLICATION SLAVE 권한 부여
mysql> GRANT REPLICATION SLAVE ON *.* TO 'userid'@'hostname' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)


5. Slave Sever의 설정을 위한 Master Server의 status 정보를 취득한다.
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.06 sec)

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File                   | Position   | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |      885    |                    |                         |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
  # 위의 File의 값과 Position의 값을 기억해둔다(적어두거나 ㅡㅡ;)

6. Replication Slave Configuration
[mysql]
server-id=2


7. Slave Server 기동

8. Slave Server에서 CHANGE MASTER 세팅
 mysql> CHANGE MASTER TO
    -> MASTER_HOST='hostname or ip',
    -> MASTER_USER='userid',
    -> MASTER_PASSWORD='password',
    -> MASTER_LOG_FILE='mysql-bin.000003',
    -> MASTER_LOG_POS=885;
Query OK, 0 rows affected (0.21 sec)

9. Slave 쓰레드 기동
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)

10. Master 서버로의 접속 확인
     Slave Server의 Data디렉토리의 hostname.err를 확인하여 아래의 메시지가 있으면 접속 성공
Slave I/O thread: connected to master 'useid@hostname:3306',replicat
ion started in log 'mysql-bin.000003' at position 885

댓글
댓글쓰기 폼