Orchestrator 구축 이후 Takeover 및 Auto Failover를 설정하겠습니다. Orchestrator 구축 1편 : https://jhdatabase.tistory.com/134 [MySQL - Orchestrator 구축] part 1 Orchestrator란? MySQL용 복제 토폴로지 관리자로써 고가용성 및 복제 관리 툴입니다. 체인을 위아래로 훑으면서 마스터와 슬레이브를 찾아 MySQL 환경의 복제 토폴로지를 검색하는 기능을 제공합니다 jhdatabase.tistory.com Takeover Test ■ Master 확인 현재 Master -> 192.168.100.35 (DB 1번) mysql> show slave status\G; *************************..
Orchestrator란? MySQL용 복제 토폴로지 관리자로써 고가용성 및 복제 관리 툴입니다. 체인을 위아래로 훑으면서 마스터와 슬레이브를 찾아 MySQL 환경의 복제 토폴로지를 검색하는 기능을 제공합니다. 또한 GUI를 통해 복제 토폴로지를 리팩터링하는 데도 사용할 수 있는데, 드래그 앤 드롭 인터페이스를 사용해서 슬레이브를 마스터로 승격할 수 있습니다. 상태 개념을 사용해서 올바른 복구 방법을 지능적으로 선택하고 사용할 적당한 마스터 승격 프로세스를 결정하므로 노드에 장애가 발생할 경우 복구를 지원합니다. Orchestrator 기능 복제 트리의 토폴로지 및 상태를 자동으로 감지하고 모니터링합니다. GUI, CLI 또는 API를 사용하여 상태를 확인하고 작업을 수행할 수 있습니다. 마스터의 자동 ..
MySQL 3node 운영중 Master노드의 리소스 과부화 현상을 해소하고자 Read/Write Split을 하게되었습니다. Proxy서버로 ProxySQL을 사용하여 최종적으로 Write트랜잭션은 Master노드로만, Read 트랜잭션은 모든 노드로 가도록 설정하습니다. 테스트 환경 Hostname IP VIP DB Version proxy 192.168.100.84 proxysql-2.4.4 master 192.168.100.80 192.168.100.88 MySQL 8.0 slave1 192.168.100.81 MySQL 8.0 slave2 192.168.100.83 MySQL 8.0 사전 구성 MySQL서버 3nodes MHA구성 MariaDB [(none)]> show slave hosts\G..
MySQL Tunner란 MySQL현재 설정값과 서버의 사양, 사용상태들을 비교하여 MySQL설정을 하는 방법으로, perl 스크립트로 동작하며 현재 설정과 서버의 사양 , 사용 상태들을 비교하여 mysql 의 설정을 어떻게 바꾸면 좋을지 몇 가지 기본 성능 제안과 함께 간단한 형식으로 알려주는 툴입니다. MySQLTuner 는 MySQL / MariaDB / Percona Server에 대해 300 여개의 지표를 지원합니다. MySQL, MariaDB 에서 동작하며, 리눅스에서 동작하나, 윈도우에서는 지원하지 않습니다. 저와같은 초보 DB관리자가 성능개선을 위해 이것저것 알아볼때 빠뜨리는 부분을 확인 할 수 있어 좋습니다. ■ 호환성 목록 [MySQL] MySQL 8 (partial support, p..
Master 서버로는 Read & Write 작업을하고 Slave 서버로는 Read 작업을하여 select 쿼리에 대한 부하분산 구성을 하고 sysbench를 이용해 부하테스트를 진행하여 ProxySQL 툴과의 성능 비교를 진행하였습니다. 읽기와 쓰기 분리 기술을 구현하는 방법에는 여러 가지가 있습니다. 읽기 및 쓰기가 분리된 lua 파일이 포함되어 있습니다. 이 파일은 mysql-proxy를 사용하여 읽기 및 쓰기 분리를 달성하는 데 사용해야 하는 파일이기도 합니다. 구문 분석을 위해 lua 파서가 필요합니다. 따라서 루아 파서를 설치해야 합니다. ■ config 파일 생성 [root@mysqlproxy mysql-proxy]# mkdir /usr/local/mysql-proxy/conf/ [root@..
MySQL proxy이란 네트워크 프로토콜을 사용하여 네트워크를 통해 MySQL의 서버와 클라이언트 사이의 통신을 제공하는 애플리케이션이다. 기본적인 구성에서 클라이언트의 쿼리를 MySQL 서버로 전달하고 서버의 응답을 클라이언트에게 반환한다. 기본 구성 외에도 클라이언트와 서버간 통신을 모니터링하고 변경할 수 있다. 클라이언트에서 쿼리를 가로 채서 서버에 보낸 쿼리 목록에 추가 쿼리를 삽입하고 서버에서 반환 할 때 추가 결과를 제거 할 수 있다. proxy 서버를 구축 이유 보안 : 익명의 사용자가 서버에 직접 접근하는 것을 막는다. 속도 : proxy 서버는 사용자의 요청을 cache 해서, 동일한 요청이 들어오면 cache의 자원을 반환한다. 이는 서비스의 속도를 높여준다. ACL : 사이트 접근에..
PostGIS이란, 객체 관계형 데이터베이스 시스템인 PostgreSQL의 확장 프로그램으로, 데이터베이스에 GIS(지리정보 시스템) 객체를 저장할 수 있게 해 줍니다. PostGIS는 GiST 기반 R-Tree 공간 인덱스를 지원하며, GIS 객체의 분석 및 공간 처리를 위한 기능을 포함하고 있습니다. PostGIS를 사용하면 지리 정보 데이터를 다양하게 다룰 수 있습니다. 주요기능 : 공간 데이터 관리, 공간 데이터 연산, 분석, 공간 인덱스 지원 등 공간 인덱스란 특정의 좌표를 찍어 지도 내에서 무언가 사용자가 원하는 데이터를 검색하기 위해서 사용한다고 보면 이해하기 쉽습니다. 사용 예시 : 카카오 택시같이 지도내에 있는 택시를 검색해서 호출한다거나, 네이버 지도에서 식당이나 카페를 검색하는 것과 ..
phpMyAdmin 은 PHP로 개발 된 오픈소스이고, 웹 기반의 MySQL 관리 툴 입니다. 웹에서 편리하게 DB 관리를 해보기 위해 이번 테스트를 진행했습니다. ■ 사전 mysql db설치 & httpd설치 mysql> select @@version; +-----------+ | @@version | +-----------+ | 8.0.28 | +-----------+ 1 row in set (0.00 sec) [root@myadmin ~]# yum -y install epel-release [root@myadmin ~]# yum -y install httpd ■ php 설치 ※ php설치할 당시 phpMyAdmin을 구동하기 위한 관련 패키지를 진행하지 않은 접속이 불가합니다. 따라서 나머지 php..
사전 작업 NAS 생성 & 연결 ■ NAS 생성 및 연결 ■ NAS를 연결했음에도 MSSQL에서 데이터베이스 생성 시 NAS의 경로가 보이지 않습니다. ■ xp_cmdshell 활성화 exec sp_configure 'show advanced options', 1; go reconfigure; go exec sp_configure 'xp_cmdshell',1 go reconfigure; go ■ Fileserver NAS의 경로, NAS유저 패스워드, NAS유저 ID exec xp_cmdshell 'net use E: \\\n2370497_testjj11\data /USER:\gwnupoc' output --------------------------------------------------------..
pt-online-change-schema 이란, Mysql에서 몇억건 이상의 대량의 데이터를 갖고 있는 테이블을 수정 하는것은 어렵습니다. 단순히 alter table을 해버리면 4시간, 5시간 이상 수행되기 떄문에 이를 해결 하기 위해 create select(CTAS) 방법을 사용합니다. MySQL은 특히나 온라인 스키마 변경이 취약합니다. 물론 5.6부터는 online alter기능이 포함되어 있다고는 하나 100% 완벽하게 모든 상황을 온라인스럽게 제공해주지도 않고 그렇다하더라도, 일정 트래픽 이상의 데이터 변경이 이루어지는 경우, 게다가 슬레이브 지연을 염두한다면 꺼려지는 상황이 있습니다. (마스터에서 온라인 스키마 변경이 이루어졌을지라도, 이 관련 alter구문이 슬레이브로 넘어갔을 때는, ..