proxysql 10

[ProxySQL] CONNECTING_CLIENT_STATE_SERVER_HANDSHAKE 오류

[ProxySQL] CONNECTING_CLIENT_STATE_SERVER_HANDSHAKE 오류 l Version : ProxySQL 2.4.2 ProxySQL에서 백엔드 어플리케이션이 접속하는 포트로 로그인이 안되는 문제가 발생하였다. ProxySQL의 로그를 확인해 보니 아래와 같은 로그가 기록되어 있다. MySQL_Session.cpp:5094:handler___status_CONNECTING_CLIENT___STATE_SERVER_HANDSHAKE():[ERROR] ProxySQL Error: Access denied for user 'user'@'ip' (using password: YES) MySQL_Session.cpp:5094:handler___status_CONNECTING_CLIENT..

MySQL, MariaDB 2023.12.11

[MySQL] ProxySQL 연결이 실패할 때 확인해야 할 기본 체크리스트

[MySQL] ProxySQL 연결이 실패할 때 확인해야 할 기본 체크리스트 l Version : ProxySQL MySQL서버를 여러대로 구성해야하는 경우 (예, Replication, Sharding 등) 어플리케이션 수에 따라 MySQL 서버와 맺게 되는 커넥션수가 급격하게 늘어난다. 예를들어 MySQL 서버가 30대, 어플리케이션 서버가 200대이고, 각 서버별로 커넥션을 10개씩 유지한다면 30 * 200 * 10 = 60000 커넥션이 발생한다. 이런 이슈를 피하기 위해 중간에 미들웨어 개념으로 프록시 역할을 해주는 것이 ProxySQL이다. ProxySQL은 효율적인 커넥션 관리뿐만 아니라 라우팅 기능 등 여러 기능을 제공한다. l ProxySQL 이란 무엇인가 : https://sungwo..

MySQL, MariaDB 2023.10.11

ProxySQL 은 서비스에 필요한 설정값을 어디에 저장하고 재사용할까?

ProxySQL 은 서비스에 필요한 설정값을 어디에 저장하고 재사용할까? l Version : MySQL, ProxySQL ProxySQL에서 서버를 추가하거나, 사용자를 등록하는 등 설정을 변경하고 적용하려면 관리자 모드 접속을 통해서 필요한 내용을 수정하고, 수정한 내용을 서비스 중단 없이 runtime에 적용할 수 있다. 그리고 서비스 재시작시 기존의 설정을 유지하기 위해서는 현재 설정 값을 데이터베이스 또는 디스크로 저장하여 재사용 할 있다. 아래 그림을 참고하여 설명하면, 일반적으로 관리자 모드에 접속하여 수정하는 부분은 MEMORY영역이다. 그렇기 때문에 관리자에서 수정하였을 경우에는 아직 메모리에서만 적용된 것으로 서비스에 적용되지 않은 상태이다. (아마도 실수가 발생하였을 때 서비스 보호를..

MySQL, MariaDB 2023.08.04

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