mysql4 ProxySQL 을 통한 MySQL 쿼리 라우팅 설정 지난 게시글에서는 MySQL connector for Java 의 Replication 커넥션 기능을 사용하여 쓰기/읽기 DB로 쿼리를 분산하는 내용으로 공유를 진행했습니다. 하지만 MySQL connector for Java 의 Replication 커넥션 기능을 사용하는 경우 쿼리를 쓰기/읽기 DB 중 어느 DB로 보낼지 소스상에서 일일이 지정해줘야하는 점이 단점이었는데요. 이번 게시글에서는 쿼리 라우팅 기능이 포함된 오픈 소스 MySQL 프록시인 ProxySQL을 이용하여 Query Rule을 설정하고 설정할 룰에 따라 자동으로 쿼리를 라우팅하는 설정 방법을 공유하도록 하겠습니다. 1. ProxySQL이란 ProxySQL은 쿼리 라우팅 기능을 제공하는 MySQL 및 MySQL 포크(Percona, .. 2023. 4. 2. MySQL MHA(Master High Availability) 설정 지난 DRBD를 이용한 MySQL HA 구성 관련 글과 AWS Aurora 스토리지 관련 글에서 MySQL 리플리케이션의 경우 비동기 복제 방식이기 때문에 데이터의 일관성을 보장하지는 않는다는 내용을 많이 언급했습니다. 하지만 MySQL 5.7 버전에 추가된 Loss-Less Semi-sync 리플리케이션과 HA 도구인 MHA(Master High Availability)를 함께 사용하는 경우 동기식 복제와 거의 유사한 데이터 일관성 보장이 가능합니다. MHA 구성 방법과 장애조치 테스트 내용 공유를 위해 글을 작성하였습니다.MySQL Semi-sync 리플리케이션MHA를 구성하기 전에 먼저 MySQL Semi-sync 리플리케이션에 대해 알아야할 것 같습니다.1) 기본 MySQL 리플리케이션MySQL .. 2023. 3. 23. DRBD(+keepalived)를 이용한 MySQL HA 구성 DRBD, keepalived를 이용한 MySQL HA 구성 관련 내용 공유합니다. DRBD란 DRBD는 Distributed Replicated Block Device 의 약자로 Linux 플랫폼을위한 분산 복제 스토리지 시스템을 의미합니다. DRBD 설정을 통해 로컬 호스트에 있는 디스크와 네트워크 상에 있는 다른 호스트의 디스크를 RAID1(미러링)으로 묶은 것과 동일한 효과를 낼 수 있습니다.(네트워크 지연시간에 따라 복제 지연은 발생할 수 있음) 이번 구성에서는 DRBD 구성 및 지난번 HAPROXY HA 구성에 사용했던 HA 도구인 keepalived를 이용하여 MySQL 서버 장애 발생 시 자동으로 장애조치 가능하도록 설정해보록 하겠습니다. 테스트 환경 테스트 환경 구성은 아래와 같습니다. .. 2023. 3. 23. 이미지를 DB에 BLOB 데이터타입으로 저장 웹페이지에 이미지를 넣기 위해서는 웹서버 혹은 별도의 이미지 서버에 파일 형식으로 업로드를 한 뒤, img src HTML 태그를 통해 웹페이지에 포함시키는 것이 일반적인 사용 방법이나, 이미지를 DB에 저장하고 저장된 이미지를 DB로부터 select하여 웹페이지를 통해 노출할 수 있는 방법이 있어 공유해드리고자 합니다.테스트 환경테스트 환경은 아래와 같습니다.DB - AWS RDS(Mariadb 10)웹서버 - apache 2.4(php 7.4)데이터베이스 생성 및 테이블 생성바이너리 데이터인 이미지 파일을 DB에 저장하기 위해 blob 데이터 타입으로 설정하여 테이블을 생성합니다. BLOB 이란 Binary large object 로 바이너리 데이터를 DB에 저장하기 위한 데이터 타입으로 이미지, 멀.. 2023. 3. 12. 이전 1 다음