목록MySQL (40)
DB & AWS Knowledge
개요 (참고 출처: https://mysql-mmm.org/mmm2_guide.html / http://blog.naver.com/jevida/221791972812)MMM 테스트 구성을 위해서 아래의 서버를 미리 준비한다. 보통 인터넷에서 일반 기본구성은 2 master 1 slave 로 구성하지만 이 자료에서는 2 master 만 구성한다.OS : CentOS7 / DB : MySQL 5.7 을 기준으로 구성한다.HostIPVIPRolemaster192.168.0.11 Monitoringworker1192.168.0.12192.168.0.102Master 1worker2192.168.0.13192.168.0.103Master 2 Write VIP : 192.168.0.101 (서버간 연결 시 추가 추..
개요 (출처:https://www.slideshare.net/NHNFORWARD/mysql-nhn-forward-2018)MMM 은 Multi Master Replication Manager 의 약자로써 뜻 그대로 Replication 을 응용한 mysql / mariadb 서버가 Multi Master 를 응용하여 Failover 를 사용 할 수 있도록 관리 해주는 툴이다.MMM 의 기본 구성은 아래와 같이 기존 Master-Slave 와 같이 읽기, 쓰기 역할이 명확한 기존 구조에서 HA Failover 를 위하여 Master 를 추가 하는 것을 목표로 삼는다. 이 구조에서, Slave 서버를 추가하여 읽기만 가능한 서버를 전개 할 수 있고, standby 서버의 역할 또한 읽기 혹은 쓰기,읽기가 둘..
이 페이지에서는 MySQL / MariaDB 테이블을 임시로 rename 후, 동일명의 테이블에 대한 생성 가능 유무를 확인 해 본다.우선 아래와 같이 테스트 테이블을 생성한다. 그 후 rename 을 통하여 임시로 다른 테이블명으로 변경 한다.그 후, 동일 구조 및 이름을 가진 테이블을 생성 해 본다. 정상적으로 생성 되는 것을 볼 수 있다.PK 만 생성한 상태에서는 각각의 테이블에 동일 PK명으로 적용 된 것을 볼 수 있다. 그 후, 각 테이블에 동일명의 인덱스를 생성 해 본다. 정상적으로 생성 된 것을 확인 해 볼 수 있다. PK 조회처럼 각 테이블명에 적용된 인덱스 내역을 보면 동일하게 적용 된 것을 볼 수 있다.위와 같은 테스트를 통해서 MySQL / MariaDB 는 기존테이블을 rename ..
⊙ 작성 사유 운영 서버들 중에 용량이 큰 테이블들이 발생 시 차후 대량 조회 쿼리 등으로 이한 서비스 지연이 발생할 수 있으므로 이에 대한 조치를 마련 할 수 있도록 데이터가 쌓여서 대형 테이블이 된 테이블들을 관리 하기 위해 만든 logging, 관제 스크립트들이다. ⊙ 스크립트 내용 Big Table 개수 관제 스크립트 (회사 보안사유로 인하여 테이블명은 masking 함)
⊙ 작성 사유 : 운영 서버들 중 Replication으로 구성된 서버들 간에 Replication 연결 이상 및 GAP 을 탐지하기 위해 작성했던 관제 스크립트입니다. Slave 서버에서의 상태 확인을 통하여 연결 이상 및 GAP 발생 시간을 탐지합니다. (사내에서는 GAP 관제발생기준시간을 30초로 세팅) - 스크립트 내용 및 테스트 (사내 메일 이미지 첨부 및 내용 보완) Replication 이상 여부 탐지 스크립트
⊙ 작성 사유 : 기술지원을 해주는 서비스의 DB서버가 최번시에 사용 시, binlog 가 급속하게 차는 중, 서비스 관리자가 OS에서 수동으로 binlog 파일을 삭제를 하면서 실수로 DB서버와 동기화 중인 binlog까지 삭제하여 DB가 정상 작동이 되지 않는 장애가 발생한 사례가 있었음. 이에 대한 기술지원을 하면서 차후 후속 예방조치로 crontab 에 걸어 두어 binlog 가 쌓이는 data 영역이 일정 수치가 쌓이면 자동으로 삭제되는 스크립트를 작성하여 적용 중. ⊙ 스크립트 테스트 적용 시 결과 (사내 메일 이미지)