mysql 이중화 구성 (Replication / 리눅스 + 윈도우)
리눅스 서버와 윈도우 서버에 mysql 을 설치 했으니, 이중화를 구성하려고 한다.
MS-SQL 이중화와는 방식이 다르긴 하지만 뭐, 그냥 저냥 해보면 될 것 같다.
1. Master 와 Slave 할당
검색을 통해서 알아보니깐 DB 버전이 완전히 같을 필요는 없지만, Slave 가 버전이 높아야 한다고 한다.
그래서 Master 는 리눅스 mysql 5.1 을, Slave 는 윈도우 mysql 5.6 으로 정했다.
M : Linux / mysql 5.1 / 192.168.1.10
S : Window / mysql 5.6 / 192.168.1.20
2. M 의 my.cnf 설정 추가
[mysqld] 하단에 아래의 구문 추가
log-bin=mysql-bin
server-id = 1
mysqld 서비스 재시작
# service mysqld restart
3. M 의 mysql 에 S 에서 접속할 사용자 계정 생성
mysql> use mysql;
mysql> grant replication slave on *.* to 'repluser'@'192.168.1.20' identified by 'password';
4. S 의 my.ini 설정 추가
[mysqld] 하단에 아래의 구문 추가
log-bin=mysql-bin
server-id = 2
윈도우 서비스에서 mysql 재시작
5. S 에서 M 에 접속하는 정보 등록
my.ini 에 아래와 같이 구문을 추가 하고, 서비스 재시작 했더니 구동 실패가 발생했다.
[mysqld]
master-host=192.168.1.10
master-user=repluser
master-password=password
master-port=3306
mysql 에서 직접 M 의 접속 정보 입력을 진행 했다.
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.10',MASTER_USER='repluser',MASTER_PASSWORD='password', MASTER_PORT=3306, MASTER_CONNECT_RETRY=30;
mysql > start slave;
하고 나면, my.ini 에 해당 설정이 추가 되는게 아니라 C:\ProgramData\MySQL\MySQL Server 5.5\data\master.info 파일이 생성되어 저장 된다.
윈도우 환경이라서 다른 것일 수도 있다. (리눅스 끼리 연동 후 확인 필요)
6. M 의 mysql 에서 replication 작동 상태 확인
mysql> show master status;
7. S 의 mysql 에서 replication 작동 상태 확인
mysql> show slave status;
8. M 의 mysql 에 접속하여 테이블 생성 및 데이타 입력
mysql> use test;
mysql> create table gunnm ( no int(5), date int(10), text char(50), primary key(no) );
mysql> insert into gunnm values ('1', '20180321', 'replication test success, gunnm.tistory.com');
mysql> select * from gunnm;
9. S 의 mysql 에 접속하여 gunnm 테이블 조회
mysql> use test;
mysql> select * from gunnm;
10. 결과
MS-SQL 의 미러링을 구성하는 Slave 서버에서는 대부분의 기능이 제한적인데 반해, mysql 에서는 slave 이지만 데이타값 조회가 가능한 것을 확인했다.
그래서 slave 에서 데이타를 입력하면 master 에도 반영이 되는가를 테스트 해보았는데, 결과는
master 의 테이블에는 slave 에서 입력한 데이타값 저장이 되지 않았다.
결과적으로 Master 로 부터 데이타를 가져와서 저장을 하지만, 양방향 동기화가 되는 것은 아니다.
즉, Master 에서 Slave 로의 데이타 백업만 진행되는 것을 확인 했다.
구성 방식을 바꾸면 가능한지를 확인해 봐야겠다.
OS 가 상이하여도 (리눅스 + 윈도우), mysql 을 DBMS 로 사용 한다면 이중화 구성이 가능함을 확인했다.
'Database > MySQL' 카테고리의 다른 글
윈도우 mysql 5.6 DB 백업 스케쥴 생성 (0) | 2019.07.24 |
---|---|
윈도우 mysql 서버의 my.ini 파일 위치 확인 (2) | 2018.03.20 |
mysql 구버전 설치 링크 (0) | 2018.03.20 |