MySQL Replication 9

MySQL HA + ProxySQL 환경에서 서비스 장애조치 구성

MySQL HA + ProxySQL 환경에서 서비스 장애조치 구성 l Version : MySQL, ProxySQL MySQL HA + ProxySQL 환경에서 장애조치가 어떻게 동작하는지 알아본다. 실습 환경은 아래 포스트를 참고하여 구성할 수 있도록 한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) : https://sungwookkang.com/1529 l MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성 : https://sungwookkang.com/1533 실습에 사용되는 서버 구성이다. Server Name IP OS Service Version proxy-sql 172.30.1.49 Ubun..

MySQL, MariaDB 2023.08.03

MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성

MySQL HA 환경에서 Orchestrator를 활용한 클러스터 리팩토링 및 자동 장애조치 구성 l Version : MySQL, Orchestrator MySQL HA 환경에서 Orchestrator(이하 ‘오케스트레이터’)를 활용하여 클러스터 리팩토링 및 장애조치 방법에 대해서 알아본다. 이번 실습을 진행하기 위해서는 MySQL HA 및 Orchestrator 구성이 완료되어 있어야 한다. 아래 링크를 참고하여 HA구성 및 Orchestrator를 구성할 수 있도록 한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) : https://sungwookkang.com/1529 l MySQL 고가용성 운영을 위한 Orchestrator 설치 : https..

MySQL, MariaDB 2023.07.27

MySQL 고가용성 운영을 위한 Orchestrator 설치

MySQL 고가용성 운영을 위한 Orchestrator 설치 l Version : MySQL, Orchestrator 데이터베이스를 운영할 때 단일 장애 포인트(SPOF, Single Point Of Failure)를 예방하기 위해서 고가용성(HA, High-Available)은 매우 중요한 부분이다. 그렇기 때문에 클러스터링, 복제 등 고가용성으로 구성된 다수의 데이터베이스를 효율적으로 관리하기 위해 다양한 솔루션들이 존재한다. 이번 포스트는 MySQL 및 MariaDB의 고가용성을 효율적으로 운영하기 위한 솔루션인 Orchestrator(이하 ‘오케스트레이터’)에 대해서 알아본다. 오케스트레이터는 MySQL 고가용성 및 복제 관리 도구로, 서비스로 실행되며 명령줄 액세스, HTTP API 및 웹 인터..

MySQL, MariaDB 2023.07.25

ProxySQL Internals 및 시스템 구성 둘러보기

ProxySQL Internals 및 시스템 구성 둘러보기 l Version : ProxySQL 이번 포스트에서는 ProxySQL의 인터널 구조와 설정 파일의 구조에 대해서 살펴본다. 상세한 인터널 구조를 모두 설명하지는 않으며 전체적인 구조 및 특징만 소개하도록 한다. 세부적인 내용은 다른 포스트에서 하나씩 다뤄볼 예정이다. ProxySQL이 시작되면 즉시 새 프로세스를 생성한다. 상위 프로세스는 엔젤 프로세스(와치독과 비슷한 의미로 해석됨)로 작동하고 ProxySQL이 크래시 되었을 때 수 밀리초 내에 서비스를 다시 시작한다. MySQL에 비유하면 mysqld_safe와 매우 유사하다. ProxySQL에는 기본적으로 두 개의 포트가 필요하다. 트래픽을 수신하는 6033 포트와 ProxySQL을 관리하..

MySQL, MariaDB 2023.07.24

ProxySQL 쿼리룰 설정으로 Read, Write 부하 분산하기

ProxySQL 쿼리룰 설정으로 Read, Write 부하 분산하기 l Version : ProxySQL, MySQL 8.X ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. l ProxySQL이란 무엇인가 : https://sungwookkang.com/1528 ProxySQL을 구성할 때 MySQL 서버 환경이 복제 구성이 되어 있으면 Write, Read를 효과적으로 분산하여, ProxySQL장점을 조금 더 효율적으로 활용할 수 있다. MySQL설치, 복제구성, ProxySQL 설치는 아래 링크를 참고한다. l ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) :..

MySQL, MariaDB 2023.07.23

ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에)

ProxySQL 설치 (MySQL 설치부터, 복제 구성, ProxySQL 설정까지 한번에) l Version : ProxySQL, MySQL 8.X ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. l ProxySQL이란 무엇인가 : https://sungwookkang.com/1528 이번 포스트는 ProxySQL을 구성하는 방법에 대해서 다뤄본다. 이번 실습에서 구성되는 ProxySQL의 아키텍처는 아래 그림과 같다. 모든 클라이언트 연결은 ProxySQL로 연결이 되고, ProxySQL에서는 쿼리 타입에 따라 Write와 Read를 분산하여 요청한다. MySQL 구성은 Master에서 Slave1, Sl..

MySQL, MariaDB 2023.07.22

ProxySQL 이란 무엇인가

ProxySQL 이란 무엇인가 l Version : ProxySQL ProxySQL은 MySQL 및 포크된 데이터베이스(Percona Server 및 MariaDB)를 위한 고성능, 고가용성을 제공하는 프록시이다. 글을 쓰는 현재(2023년 7월)는 GPL 라이선스로 공개되어 있어 누구나 사용할 수 있다. ProxySQL에 대한 자세한 정보는 아래 링크를 참고한다. l 공식 사이트 주소 - https://www.proxysql.com/ l ProxySQL 설치 및 사용 가이드 - https://github.com/sysown/proxysql/wiki l ProxySQL 도커 이미지 - https://hub.docker.com/r/proxysql/proxysql [Proxy서버는 무엇일까] 프록시 서버는 ..

MySQL, MariaDB 2023.07.20

MySQL Master DB를 백업하여 Replication Slave DB 구성하기

MySQL Master DB를 백업하여 Replication Slave DB 구성하기 · Version : MySQL 5.7.5 Later MySQL DB를 처음 구축할때 마스터DB와 슬레이브DB를 구성하는것이 아니라면 반드시 마스터 DB의 데이터를 백업하여 슬레이브DB를 구성 하여야 한다. 이때 특정 시점까지 (Point in Time)의 마스터 DB를 백업하면, 백업파일에는 백업이 완료된 시점의 바이너리 로그파일과 포지션 정보가 기록된다. 슬레이브DB에서는 마스터DB 백업 파일 이후로 발생된 데이터 변경사항을 전달받아 레플리케이션 한다. InnoDB 스토리지 엔진은 트랜잭션을 지원하므로 특정 시점까지 백업한 후 백업 시점의 마지막 바이너리 로그 파일과 로그 포지션 정보로 마스터 DB와 슬레이브 DB를..

MySQL, MariaDB 2021.05.29

MySQL/MariaDB 복제구축

MySQL/MariaDB 복제구축 Version : Mariadb 5.5.4.2-WinX64 MySQL/MariaDB 복제구축 방법에 대해서 알아본다. 복제를 구축하기 위해서는 최소 2대의 서버가 준비되어 있어야 한다. [복제 구축 전 준비 사항] MySQL/MariaDB는 설치되어 있는가? 복제에 사용할 포트는 열려 있는가? (기본 포트 3306) Slave에서 사용할 계정은 생성되어 있는가? 바이너리 로그는 활성화 되어 있는가? Master, Slave의 Server-id는 고유한가? 이번 실습에서는 Master 서버의 호스트명이 'KSW_2012_2' 이며 포트는 Master, Slave 모두 기본 포트 3306을 사용하였다. [복제 설정 준비] 복제를 구축하기 전에 복제에 사용할 수 있도록 바이너..

MySQL, MariaDB 2015.07.16