ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySQL 미러링 (REPLICATION)
    개발 2016. 6. 8. 12:39

    1. Master DB와 Slave DB에 Mysql 을 설치


    2. Master DB와 Slave DB의 Mysql 의 데이터를 일치시킴. (mysqldump 등을 이용)


    3. Master DB와 Slave DB의 my.cnf(보통 /etc/my.cnf에 존재) 수정


    <<<Master DB>>>

    [mysqld]

    log-bin

    server-id=1


    <<<Slave DB>>>

    [mysqld]

    server-id=2



    서버자체가 로컬로스트에서만 접속이 가능하다도록 설정되어 있다면 외부에서도 접속할 수 있도록 아래와 같이 옵션을 변경한다. (우부투의 경우)

    #bind-address           = 127.0.0.1
    bind-address            = 0.0.0.0



    4. Create a User for Replication


    Slave들이 Master에 접근하기위해서 Master의 User계정이 필요하다.
    어떤 계정이든 상관없고 REPLICATION SLAVE 권한이 필요하다.
    Slave마다 다른 계정을 줄 수도 있고 같은 계정을 줄 수도 있다.
    어떤 계정을 따로 만들 필요없지만
    master.info에 평문으로 User name과 password가 저장된다는 것을 알고 있어야 한다.
    그러므로 Replication 작업만을 위한 계정을 따로 생성할 필요가 있다.


    마스터에서 등록한다.


    mysql> CREATE USER 'repl'@'IP주소 or 호스트이름' IDENTIFIED BY 'slavepass';

    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';



    슬레이브에서 등록한다.


    mysql > CHANGE MASTER TO MASTER_HOST='192.168.146.134',MASTER_USER='repl',MASTER_PASSWORD='passwd', MASTER_PORT=3306, MASTER_CONNECT_RETRY=30;
    mysql > start slave;


    5. 기타


    덤프
    $ mysqldump -uroot -p -A > all.sql

    복원
    $ mysql -uroot -p < all.sql

    반응형

    '개발' 카테고리의 다른 글

    우분투 호스트명 변경  (0) 2016.06.08
    우분투에 HDD 추가하기  (0) 2016.06.08
    아파치(2.2) 톰캣 연동  (0) 2016.03.12
    AIX 에서 시간 설정하기  (0) 2015.12.10
    input 필드에 숫자만 입력받기  (0) 2015.10.26

    댓글

Designed by Tistory.