[MYSQL]replication & mysql 이중화 (master,slave)

2016. 8. 1. 10:26·Database
반응형
MYSQL replication & mysql 이중화 (master,slave)

  1. Master 작업

 

1-1. Slave 계정 생성

Grant replication slave on *.* to slave@'192.168.0.*' identified by ' passwd';

1-2. master(DB) 백업

Mysqldump -u root -p dbname > dump.sql

1-3. dump 파일 slave 서버로 전송

FTP 이용 및 SCP 

scp dump.sql user(계정)@IP:.

1-4. /etc/my.cnf 내용추가

log-bin=mysql-bin

server-id       = 1

1-5. mysql restart

1-6 show master status;

(File 번호 ,Position 번호 메모)

 

  1. Slave 작업 (Slave 서버가 Master서버로 운영되기위해선 1-1 항목 필수 추가)

 

1-1. /etc/my.cnf 내용 추가

Server-id=2

replicate-do-db='dbname' (연동하려는 Dbname ,2개의 Dbname 기재 시 동일내용으로 한 줄 추가)

log-slave-update (Slave 서버가 Master서버로 운영 필수 항목/ 설명 아래 참조)

read-only = 1 (slave 서버에 대한 쓰기를 제한할경우 사용 / my.cnf 에 등록 / root 계정의 경우에는 쓰기가 가능하다.)

1-2. dbname 생성 (Master 에서 연동하려는 Dbname 과 동일한 Dbname 생성)

Create database dbname;

1-3. DB import

Master DB dump 파일을 import

Mysql -u root -p dbname < dump.sql

1-4. Replication master 서버 정보 설정 (host IP Master)

Change master to

Master_host='192.168.0.*',

Master_user='slave',  <--임의지정

Master_password='passwd',

Master_log_file='mysql-bin.000001',

Master_log_pos=326;

1-5. Mysql 재 시작

 

  1. 확인

 

1-1. Master 서버에서 show master status;

File / Position 번호

1-2. Slave 서버에서 show slave status;

File / Position 번호

1-3. 위의 정보가 동일하면 완료.

 

  1. TEST (참조:http://ijj.kr/220495833461)

 

( 사용자생성 grant all privileges on pakmunsung2_godo_co_kr.* to ceraondb@localhost identified by 'pakmunsun*#fkd2'; )

 

1-1. 테이블 생성

CREATE TABLE MT (mountain char(20),altitude int );

 

tip : create database database_name; ( 데이터베이스 생성 )

 

1-2. select

Select * from MT;

1-3. insert

insert into MT(mountain, altitude) values("설악산",1708);

insert into MT values("지리산", 1915 );

1-4. delete

Delete from MT where altitude='1708';

1-5. update

 update MT set altitude ="2000" where altitude="1915";

1-6. drop

drop table MT;

 

flush privileges ( 재적용 )


---마무리 되었습니다. 지금까지의 테스트 master - slave / slave(master) - slave 가 가능 합니다.

시간 문제로, TEST 부분은 잘 정리된 블로그 에서 확인한 정보를 제공 합니다.


  1. 정보 및 이해

 

일단 log-slave-update에 대해서 이해를 하셔야 할 겁니다.

일반적으로 마스터 - 슬레이브/마스터 - 슬레이브를 구성하기 위해서

 

A (master)

--------

server-id=...

log-bin=/...

.

 

B ( slave/master)

---------

master-host = ...

master...

.

.

server-id=

log-bin=..

 

 

C ( slave )

-------------

master-host = B server

.

 

중요한 것은 MySQL의 Replication은 binary log를 읽어온다는 것입니다.

이렇게 세팅을 할 경우

 

A서버에서 사용자가 입력하는 문장은 A서버에 binary log로 남습니다.

B서버에서 사용자가 입력하는 문장은 B서버에 binary log로 남겠죠

 

B 서버는 그와 별도로 A서버의 binary log를 읽어와서 자기한테 적용을 하고 C서버는 B서버의 binary log를 읽어와서 자기한테 적용을 합니다.

 

그러면 여기에서 A서버에서 기록된 binary log를 B서버에서 읽어와서 자기한테 적용을 할 때 그건 B자신의 binary log에 남기는가 하는 것이죠. 이게 기본으로는 적용이 되지 않습니다. 그렇기 때문에 위와 같은 설정으로 세팅을 했을 경우에는.

 

( A , B )  ( B, C ) 이런 형태의 Replication이 구성이 되는 것이죠.

A에서 입력한 내용은 B에는 적용이 되지만, C에는 적용이 되지 않습니다.

 

이걸 가능하게 해 주는 옵션이 log-slave-update 입니다. log-slave-update 옵션이 켜져 있는 상황에서는 master에서 받아온 log에 대해서도 자기 log에 기록을 하게 됩니다.

 

위의 내용에서

 

B ( slave/master)

---------

master-host = ...

master...

 

 

server-id=

log-bin=..

log-slave-updates

 

문장만 추가해서 사용 가능합니다.


출처 - http://system-server-engineer.tistory.com/10

반응형
저작자표시 (새창열림)

'Database' 카테고리의 다른 글

[MYSQL]MySQL 쿼리 결과를 파일로 저장하기(콘솔)  (0) 2016.08.10
[ODBC]통합 문서에 SQL Server 데이터베이스 연결  (0) 2016.08.05
[MYSQL]InnoDB Optimize  (0) 2016.08.01
[MYSQL]컬럼명으로 테이블 찾기  (0) 2016.07.18
[MYSQL]Toad for mysql 쿼리 정렬방법  (0) 2016.06.29
'Database' 카테고리의 다른 글
  • [MYSQL]MySQL 쿼리 결과를 파일로 저장하기(콘솔)
  • [ODBC]통합 문서에 SQL Server 데이터베이스 연결
  • [MYSQL]InnoDB Optimize
  • [MYSQL]컬럼명으로 테이블 찾기
애플자라
애플자라
    반응형
  • 애플자라
    애플자라
    애플자라
  • 전체
    오늘
    어제
    • 분류 전체보기 (655)
      • Linux (93)
      • Programing (92)
      • Flex, Laszlo (15)
      • Database (168)
      • Network (15)
      • Data (14)
      • Tips (119)
      • 여행★ (1)
      • Board (115)
      • 맛집탐방 (3)
      • 아이원츄 (12)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • Love&Smile
    • Husk's repository
    • StartUp
    • DSDSTUDIO Experimentals
    • 신선
    • DEV.SEULKI.KR[이슬기]
    • Live Bit Block
  • 공지사항

  • 인기 글

  • 태그

    Oracle
    select
    eclipse
    윈도우
    apache
    java
    Shell
    테이블
    table
    user
    server
    tomcat
    자동차
    sql
    DB
    DATABASE
    오라클
    Linux
    리눅스
    Toad
    Windows
    서버
    백업
    파일
    데이터
    MySQL
    IP
    delete
    mssql
    설정
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
애플자라
[MYSQL]replication & mysql 이중화 (master,slave)
상단으로

티스토리툴바