Database

Browse Posts

Database

MySQL, Aurora, Galera 등 데이터베이스 운영과 복구 경험을 정리합니다.

Database
Database

MySQL binlog PITR w/xtrabackup

TL DR; 1. Intro Point-in-Time Recovery (PITR) 시점복구(PITR)은 데이터베이스 백업 및 복원 과정에서, 특정시점을 기준으로 변경사항을 복구하는 것을 의미한다. 일반적인 데이터베이스 백업은 일정 주기 (매일 자정등)를 기반으로 수행된다. 이를통해 장애등의 상황시 최대 24시간 내의 형상으로 복원할 수 있다. 그러나 이는 미리 사전에 수행되어야한다는 문제가 있다. 백업과 복원에 관해서 정책과 다른 다른 시점의 데이터베이스 형상이 필요하다면 […]

Database
Database

Galera SST ready node 추가하기

TL; DR 1. Intro On-prem MySQL 클러스터를 사용하면서, Master-Slave의 구조인 MySQL Replication 대신 Multi-Master 구조인 Galera cluster for MySQL을 사용하였다. M-S 구조의 Replication에서의 Master fail시 Failover하는 경우, Slave에서 완전히 동기화 되어있음/작동 성공의 불안함이 있다. 상대적으로 Multi-Master 구조의 Galera Cluster는 참여하는 노드들이 M/S 여부 상관없이 데이터를 받고 쓸수있다. 또한 binlogs-relaylog replay의 논리적인 방식 대신 rsync, xtrabackup […]

Database
Database

AWS Aurora 5.7에서 MySQL 5.7로 안전하게 데이터 복제하기

1. Intro 2. Syncronization Overview main cluster > target Server – X main RDS 클러스터에, 타겟 MySQL 서버를 추가시켜 필요한 데이터들을 복제 및 동기화하고 클러스터에서 분리하려는 초기의 계획은 버전 이슈로인해 원활히 작동 X main cluster > replica cluster > MySQL Server (instance) CDC (AWS DMS)를 사용해서, 클러스터의 운영에 필요한 테이블들은 제외하고, 실제 데이터가 생성되고 갱신되는 […]

Database
Database

AWS Aurora 5.7에서 MySQL 5.7로 복제 실패기

1. Intro 2. 실패) Aurora 5.7와 MySQL replication 둘다 동일한 MySQL 5.7 기반이므로 최초에는 단순히 두개 클러스터간 binlog replication을 설정하면 될것이라고 생각하였다. Ref) https://hoing.io/archives/2638 그러나.. Aurora 5.7과 설치형 MySQL 5.7간의 binlog replication은 원활히 수행되지 않는다. 3. Aurora 5.7은 MySQL 5.7인가 8.0인가 https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.Updates.2124.html Aurora MySQL 2.12 버전은 MySQL 5.7.44까지 호환됩니다.  동일한 버전의 Database 서버이므로 두 서버간 […]