728x90

DB 11

[MariaDB] mysql 데이터 타입

오늘은 mysql의 데이터 타입에 대한 내용입니다.(Mysql 8.4 기준) 1. 정수 유형 데이터 타입타입유형부호 있는 최소값미부호 최소값부호 있는 최대값미부호 최대값TINYINT1-1280127255SMALLINT2-3276803276765535MEDIUMINT3-83886080838860716777215INT4-2147483648021474836474294967295BIGINT8-26302의 63제곱-12의 64제곱-1 2. 고정 소수점 유형DECIMAL(M,D) / NUMERICM자리 정수와 D자리 소수점으로 표현, 최대 65자리=> 부동 소수전 유형은 현재 사용되지 않음 (8.0.19 이후) 3. 날짜 및 시간 데이터 유형타입0값DATE (3byte)'0000-00-00'TIME (3byte)'..

DB/MariaDB 2024.09.26

[MariaDB] Galera Cluster 모니터링 - 2

이번 포스팅에서는 복제 상태 및 서버 로그를 활용한 Galera Cluster 모니터링에 대해 알아보겠습니다. 복제 상태클러스터 무결성 및 노드 상태를 모니터링하면 복제를 방해하거나 차단할 수 있는 문제가 생길 수 있습니다.노드가 너무 바빠지지 않도록 Galera는 Flow Control 이라는 피드백 메커니즘을 트리거 하여 복제 프로세스를 관리합니다. 대기열에 쓰기 세트가 너무 많으면 노드는 Flow Control을 사용하여 복제를 일시 중지한 다음 따라잡을 수 있을 때까지 기다립니다. 이를 위해 확인할 상태 변수는 아래 세가지 입니다. wsrep_local_recv_queue_avgwsrep_flow_control_pausedwsrep_cert_deps_distance 이 변수들은 서버가 재시작되거나..

DB/MariaDB 2024.09.24

[MariaDB] Galera Cluster 모니터링 - 1

Galera Cluster는 안정적이고 신뢰할 수 있는 데이터베이스 복제 클러스터링 시스템입니다.InnoDB 스토리지를 갖춘 MySQL과 MariaDB는 모두 Linux를 실행하는 노드 간 통신에 Galera를 활용합니다. 하지만 운영하는 측면에서 지속적으로 클러스터 상태를 확인해야 합니다. 또한, 각 노드의 상태를 확인하고 모니터링하여 문제(예: 복제 지연, 네트워크 연결 등)를 방지해야 합니다.클러스터 활동 및 복제 상태를 모니터링하는 데 사용할 수 있는 방법은 세 가지가 있습니다. 1. MySQL의 상태 변수를 정기적으로 쿼리 2. 상태 변수의 변경에 반응하는 사용자 지정 스크립트를 사용, 상태 변수에 의존하는 타사 모니터링 애플리케이션을 사용할 수 있습니다. => Grafana - promethe..

DB/MariaDB 2024.09.23

[MariaDB] Galera Cluster 구성변경 테스트 (gcomm 설정)

클러스터 DB서버 정보1번 서버 - 192.168.59.134 maria12번 서버 - 192.168.59.135 maria23번 서버 - 192.168.59.136 maria3예상 테스트 시나리오1~3번 서버 기존 mysql 서비스 stop1번 서버 galera.cnf 수정 (gcomm)2,3번 서버 galera.cnf 수정 (gcomm)1번 노드 재기동, 에러 발생1번 서버 galera_new_cluster 명령 입력1번 서버 mysql start, 성공 시 2,3번 서버 mysql 서비스 startstatus 체크 후 data insert 테스트 진행(1번 → 2번 / 2번 → 1,3번 / 3번 → 1,2번) 형태의 클러스터 구축 성공 (로컬에서 운영 환경으로 테스트)1. 1~3번 서버 mysql ..

DB/MariaDB 2024.08.30

[Redis] Redis cluster

Redis 서버 3대 클러스터 구성을 통해 master-slave의 안정적인 형태의 구축을 목적으로 함데이터 파티셔닝 가능(샤딩)일부 노드가 실패하거나 통신이 불가한 상황에서도 정상적으로 운영 가능하다.→ 마스터 노드가 모두 다운되는 극단적 상황을 제외하고, 노드의 하위 집합에서 장애 발생 또는 클러스터의 나머지 부분과 통신이 불가능할 때에도 지속적으로 운영 가능테스트 redis 서버 #1~#3 (192.168.59.134 ~ 136) 구축→ 마스터 (#1~#3:6379) / slave (#1~#3:6380)Master #1 (6379) ==⇒ Slave #2 (6380)Master #2 (6379) ==⇒ Slave #3 (6380)Master #3 (6379) ==⇒ Slave #1 (6380) re..

DB/Redis 2024.08.26

Redis?

오픈 소스 인-메모리 데이터 구조 저장소이며, 주로 데이터베이스, 캐시 및 메시지 브로커로 사용다양한 데이터 구조를 지원하며, 메모리에 데이터를 저장하여 빠른 읽기 및 쓰기 속도를 제공유연하고 확장 가능한 아키텍처를 갖추고 있어 많은 양의 데이터를 처리 가능Redis 특징Key-Value 저장소: 간단한 Key-Value 형식으로 데이터를 저장합니다.데이터 구조: 문자열, 해시, 리스트, 셋, 정렬된 셋 등 다양한 데이터 구조를 지원영속성: 디스크에 데이터를 저장하고 재시작 후에도 데이터를 유지할 수 있는 영속성을 제공Pub/Sub 메커니즘: Pub/Sub 메커니즘을 지원하여 메시지 전달 및 이벤트 처리에 유용합니다.클러스터링: Redis는 클러스터링을 통해 데이터를 분산하여 처리 가능 Redis Ins..

DB/Redis 2024.08.26

[MariaDB] Mysql 디렉토리 접근 사용자/그룹 권한 장애 테스트

테스트서버 목록192.168.59.134 maria1 (1번 노드)192.168.59.135 maria2 (2번 노드)권한 mysql → root로 일괄 변경 후 서비스 restart[root@maria1 data]# chown -R root:root mysql/ //mysql 디렉토리 하위 포함 root 권한으로 일관 변경[root@maria1 mysql]# systemctl restart mysql //mysql 서비스 재시작permission denied 에러 발생으로 서비스 기동 불가[ERROR] mysqld: File '/data/mysql/mysql_binary_log.index' not found (Errcode: 13 "Permission denied") 2,3번 서버는 galer..

DB/MariaDB 2024.08.26

[MariaDB] 서버 장애테스트

테스트서버 목록192.168.59.134 maria1 (1번 노드)192.168.59.135 maria2 (2번 노드)192.168.59.136 maria3 (3번 노드) 1~3번 MariaDB 서버 Galera Clustering 정상 구축 완료 전제1번 서버의 mysql 서비스가 갑자기 중지되는 상황 부여2번 서버에서 클러스터 사이즈 확인클러스터에 연결된 노드의 수를 나타내는 wrsep_cluster_size의 value=2 확인→ 이는 1번 서버의 mysql 서비스 중단으로 인해 클러스터링이 깨진 상황 1번 서버 shutdown 상황1번 서버의 전원을 종료시킨 후 테스트 진행이후 2대 서버의 mysql 서비스는 정상 동작, 클러스터링 또한 정상 (2-3번 서버만)원복을 위해 1번 서버의 전원 onm..

DB/MariaDB 2024.08.26

[MariaDB] Galera Clustering

Galera 클러스터링은 MySQL 데이터베이스의 고가용성 및 확장성을 제공하는 동기화 복제 클러스터링 기술입니다.Galera 클러스터는 여러 개의 MySQL 노드로 구성되며, 모든 노드가 동일한 데이터를 가지고 있습니다.데이터베이스에 대한 읽기 및 쓰기 작업을 모든 노드에서 수행할 수 있으며, 데이터의 일관성을 유지할 수 있습니다.클러스터의 장애 발생 시 다른 노드가 자동으로 역할을 대신하므로 고가용성을 보장할 수 있습니다. Bootstrap새로운 클러스터를 형성하고 초기화하는 역할이 노드가 galera_new_cluster 라는 명령으로 실행되어야만 다른 노드들도 참여 가능또한, Bootstrap 은 새로 참여하는 멤버에 대한 상태 관리 역할 주요 구성 파일grastate.datgalera clust..

DB/MariaDB 2024.08.26

MariaDB?

오픈 소스 데이터베이스 관리 시스템(DBMS)으로, MySQL을 기반으로 개발대규모 데이터베이스 환경에서 안정성과 성능을 제공하는 동시에 호환성과 사용 편의성을 유지다양한 플랫폼에서 사용할 수 있으며, 데이터베이스 관리 및 쿼리 작성을 위한 다양한 기능과 도구를 제공오픈 소스 커뮤니티에 의해 개발되고 유지커뮤니티의 참여와 기여를 통해 지속적으로 발전 중 MariaDB Install설치환경 : Centos 7.9MariaDB-backup-10.4.22-1.el7.centos.x86_64.rpm으로 설치 진행 Pre-installmkdir -p /var/tmp/cp repo/.repo /etc/yum.repos.d/cp package/.gz /var/tmp/cp rpm/* /var/tmp/ Instally..

DB/MariaDB 2024.08.26
728x90