Skip to content

MySQL Family 플러그인

MySQL Family 플러그인은 MySQL, MariaDB, Percona Server for MySQL과 지원 관리형 MySQL 서비스를 하나의 공통 리소스 모델로 등록합니다. 연결 상태, 접속 압박, 느린 쿼리, InnoDB 버퍼 풀, 복제 지연 같은 데이터베이스 운영 신호를 대시보드와 알림 규칙으로 제공합니다.

특징

  • engine=auto로 명시적인 SQL 근거에서 MySQL, MariaDB, Percona Server와 지원 관리형 MySQL 프로필을 감지합니다.
  • Prometheus mysqld_exporter 계열 메트릭과 Konduo 관리형 메트릭 수집을 모두 지원합니다.
  • 관리형 수집은 SHOW GLOBAL STATUS, SHOW GLOBAL VARIABLES, 복제 서버 상태 근거를 읽기 전용으로 수집합니다.
  • 알림팩은 접속 압박, 느린 쿼리 증가, 버퍼 풀 효율, 복제 지연, 수집 범위를 다룹니다.

등록 전 확인

  • 호스트, 포트, 데이터베이스, 사용자 이름, 비밀번호, TLS, 접속/쿼리 제한 시간을 준비합니다.
  • 관리형 수집 계정은 상태 조회에 필요한 최소 권한만 부여합니다.
  • 관리형 수집의 쓰기 대상으로 Prometheus를 사용할 경우 Prometheus를 --web.enable-remote-write-receiver 옵션으로 실행해야 합니다.
  • MariaDB와 MySQL은 메트릭 접두사가 유사하지만 일부 복제 메트릭 이름이 다를 수 있으므로 매핑팩 적용 후 패널 수집 범위를 확인합니다.

운영 팁

  • engine=auto는 표시와 매핑 호환을 위한 기능이며, 위험한 엔진별 변경 작업을 자동으로 열지 않습니다.
  • 접속 호환성과 관리 호환성은 별도로 판정합니다. 제품, 버전, 배포 형태, 토폴로지와 각 관리 capability를 독립적으로 확인합니다.
  • Capability 상태는 supported, partial, unsupported, unverified 중 하나이며, 알 수 없거나 모호한 대상은 읽기 전용으로 유지하고 변경 작업을 허용하지 않습니다.
  • 느린 쿼리와 버퍼 풀 효율은 워크로드 변화, 캐시 워밍업, 배치 작업 시간대와 함께 봅니다.
  • 임의 SQL 실행, 백업/복원, 사용자 관리, 스키마/테이블 변경은 현재 CE 플러그인 운영 경계 밖입니다.

운영 화면

  • 개요 화면은 엔진, 버전, 가동 시간, 접속 상태와 기본 읽기 전용 근거를 요약합니다.
  • 모니터링 화면은 접속 압박, 느린 쿼리 증가, InnoDB 버퍼 풀, 복제 지연, 네트워크/처리량을 보여줍니다.
  • 설정 근거는 주요 변수와 상태 스냅샷을 읽기 전용으로 제공해 튜닝 전후 비교를 돕습니다.
  • 관리형 수집 상태는 MySQL/MariaDB에서 수집한 상태 샘플이 메트릭 소스로 정상 전달되는지 확인하는 근거입니다.
  • 관리 페이지는 세션 활동, 트랜잭션, 락, 연결, 복제, 설정, 테이블을 제한된 인벤토리로 제공하며 각 탭에 원시 호환성 프로필을 반복 표시하지 않습니다. 런타임 근거는 health metadata와 diagnostics에서 확인하고, edition-neutral 지원 기준은 compatibility/matrix에서 확인합니다.
  • Row action은 플러그인 스키마와 payload capability 상태로 렌더링됩니다. Core는 mysql-plugin.management.readmysql-plugin.management.write 권한을 분리해 집행하며 프론트엔드는 MySQL 전용 권한 분기를 갖지 않습니다.

관리 호환성과 최소 권한

machine-readable 진실 소스는 compatibility-matrix.json을 내장해 제공하는 compatibility/matrix route입니다. mysql, mariadb, percona, pxc, mariadb_galera, aurora_mysql, rds_mysql, cloudsql_mysql, azure_mysql을 포함합니다. runtime probe는 문서의 full/conditional 항목을 하향 조정할 수 있지만 unsupported 항목을 상향하지 않습니다. CE와 EE overlay는 이 route를 동일한 공통 기준선으로 사용할 수 있습니다.

화면/작업MySQLMariaDB일반적인 DB 최소 권한설명
세션 활동과 연결 그룹지원지원전체 세션에는 PROCESSPROCESS가 없으면 일부 세션만 보여 partial로 표시될 수 있습니다.
InnoDB 트랜잭션INNODB_TRX가 있으면 지원INNODB_TRX가 있으면 지원Information Schema 조회 및 PROCESS뷰 또는 권한이 없으면 unavailable/partial입니다.
락 대기Performance Schema data_lock_waitsInformation Schema INNODB_LOCK_WAITS해당 시스템 뷰 조회감지된 제품 근거로 adapter를 선택합니다.
복제 상태지원지원REPLICATION CLIENT빈 결과는 쿼리 실패가 아니라 primary 또는 standalone을 뜻합니다.
허용 목록 설정, 테이블, 인덱스 통계지원지원메타데이터 및 대상 스키마 조회인덱스 카디널리티는 information_schema.STATISTICS에서 조회하며 임의 변수/SQL 브라우저가 아닙니다.
쿼리 취소/연결 종료보호된 작업보호된 작업다른 세션에는 CONNECTION_ADMIN 또는 기존 SUPER높은 신뢰도의 프로필, 최신 대상 근거, 확인 문구가 필요합니다.
ANALYZE TABLE검증된 base table 엔진만검증된 base table 엔진만대상 테이블/스키마의 SELECT, INSERT알 수 없는 엔진과 partial capability에서는 실행하지 않습니다.

management_safe_mode=true를 유지하고 먼저 dry_run=true로 검증하세요. 쿼리 취소는 CONFIRM 하나를 입력하고, 연결 종료와 테이블 통계 갱신은 더 강한 확인 문구 ALLOW 하나만 입력합니다. 두 문구를 함께 요구하지 않습니다. 실행 후 자동으로 새로고침된 관리 화면에서 후속 상태를 확인하고, 가능하면 연결 종료 전에 쿼리 취소를 먼저 사용하세요. 두 작업 모두 rollback이 없으며 애플리케이션 재시도와 트랜잭션 복구는 별도 절차입니다.

ANALYZE TABLE 실행 후 테이블 탭은 제한된 데이터베이스 응답을 성공, 안내, 경고 또는 오류 문장으로 변환하여 완료 시각과 함께 최근 작업 결과 영역에 유지합니다. Op, Msg_type 같은 원시 프로토콜 필드는 표시하지 않습니다. 성공 알림에도 같은 요약이 표시됩니다. 결과 영역은 현재 관리 화면에서만 유지되며 영구 이력이 아닙니다. 테이블 인벤토리 새로고침은 후속 확인 화면입니다.

테이블 행의 통계 보기에서는 현재 인덱스 순서, 인덱스 컬럼, 추정 카디널리티, 고유성, 인덱스 유형, NULL 허용 여부, 접두 길이를 확인할 수 있습니다. 통계 갱신에 성공하면 이 상세 화면을 새 쿼리 결과로 자동 엽니다. 이 값은 현재 스냅샷이며 저장된 전후 비교 이력이 아닙니다. 제품별 histogram 통계는 MySQL family 공통 화면에 포함하지 않습니다.

Percona Server 프로필

제품감지공통 기준선테이블 분석추가 경계
Percona Server for MySQLVERSION() / @@version_comment의 Percona Server fingerprint실제 probe로 하향 조정되는 동일 MySQL major 기준선InnoDB/XtraDB만 허용하며 MyRocks/RocksDB는 partial로 차단Percona 전용 변수는 선택 근거이며 Percona XtraBackup과 PMM은 포함하지 않습니다.

공통 관리형 수집기와 Prometheus 매핑팩은 MySQL 호환 status/exporter 이름을 사용합니다. Percona 전용 exporter 시계열은 선택 항목이며 필수 메트릭이 되지 않습니다. Percona fingerprint만으로 작업이 활성화되지 않으며 권한, 시스템 뷰, 대상 근거, storage engine을 다시 확인합니다.

PXC 및 MariaDB Galera wsrep 프로필

PXC와 MariaDB Galera는 단일 서버 Percona/MariaDB가 아니라 각각 pxc, mariadb_galera로 표시합니다. vendor 근거와 허용 목록 wsrep status가 모두 있어야 감지합니다. 클러스터 화면은 관측된 component 상태 (wsrep_cluster_status, 관측 크기)와 접속 노드 상태(ready, connected, local state, desync)를 분리합니다. flow control, receive queue, certification failure, BF abort는 제한된 로컬 신호이며 누적 카운터는 rate 없이 알림으로 단정하지 않습니다.

모든 payload는 observation_source=connected_endpoint, completeness=partial입니다. peer 노드가 같은 상태를 관측하는지는 보장하지 않습니다. 세션, 락, 쿼리 취소, 연결 종료는 이 리소스가 접속한 노드에만 적용하며 테이블 분석은 로컬 경계 밖이므로 wsrep 프로필에서 비활성화합니다. component가 Primary가 아니거나 접속 노드가 connected, ready, Synced, non-desynced 조건을 만족하지 않으면 모든 세션 변경 capability를 비활성화합니다. 표준 replica 상태는 wsrep 복제와 별도 capability입니다.

후보 신호 조사는 공식 Percona status indexMariaDB 모니터링 가이드를 기준으로 합니다. 클러스터 bootstrap, quorum 강제 복구, SST/IST 실행, 노드 등록/lifecycle, ProxySQL/HAProxy/operator 제어, failover는 Konduo CE 범위 밖의 별도 운영 절차입니다.

관리형 서비스 프로필

서비스감지 근거쿼리/세션 작업알려진 경계
Aurora MySQLaurora_version과 조회 가능한 RDS proceduremysql.rds_kill_query / mysql.rds_killMySQL 호환 버전과 Aurora release를 분리하며 토폴로지는 endpoint-local입니다.
RDS for MySQLAurora가 아닌 상태에서 조회 가능한 mysql.rds_kill* proceduremysql.rds_kill_query / mysql.rds_killprovider release와 control-plane 토폴로지를 알 수 없습니다.
Cloud SQL for MySQLcloudsql_iam_authentication 시스템 변수connection 관리 권한이 검증된 native KILLcustom role에 따라 조회와 변경 권한이 줄어듭니다.
Azure Database for MySQLazure_server_name 또는 조회 가능한 mysql.az_kill* proceduremysql.az_kill_query / mysql.az_killprovider release와 HA 토폴로지는 control-plane 근거가 필요합니다.

구현은 공식 Aurora 버전, Aurora 세션 종료, RDS 세션 종료, Cloud SQL 연결 관리, Azure 서버 procedure 문서의 SQL surface를 따릅니다. CE 프로필은 provider control-plane API를 호출하지 않습니다. 명시적으로 프로필을 선택해도 SQL fingerprint가 없으면 unverified 읽기 전용 상태를 유지합니다.

선택적 live smoke는 KONDUO_MANAGED_MYSQL_ENGINE, KONDUO_MANAGED_MYSQL_HOST, KONDUO_MANAGED_MYSQL_PORT, KONDUO_MANAGED_MYSQL_DATABASE, KONDUO_MANAGED_MYSQL_USERNAME, KONDUO_MANAGED_MYSQL_PASSWORD를 설정하고 필요하면 KONDUO_MANAGED_MYSQL_TLS(기본 true)를 설정한 뒤 ./test-managed-services-integration.sh를 실행합니다. health와 제한된 조회만 수행합니다.

진단과 알림 관점

  • 진단은 연결성, 인증/권한, 접속 압박, 느린 쿼리, 버퍼 풀 효율, 복제, 메트릭 수집 범위를 나눠 표시합니다.
  • 알림 규칙은 접속 사용률, 느린 쿼리 비율, 버퍼 풀 적중률, 복제 지연, 수집기 상태를 중심으로 합니다.
  • MySQL과 MariaDB는 유사한 상태 변수와 익스포터 메트릭을 공유하지만 일부 복제 근거는 다르게 노출될 수 있습니다.
  • 메트릭 매핑이 맞지 않으면 대시보드와 알림이 부분 상태가 되므로 익스포터 버전과 매핑팩을 함께 확인합니다.

관리 경계

  • CE 플러그인은 임의 SQL 실행이나 schema 변경을 제공하지 않습니다.
  • TiDB와 Vitess fingerprint는 이 플러그인에서 지원하지 않는 분산 peer로 유지하며 MySQL 프로필 대신 향후 전용 cluster-aware 리소스 플러그인을 사용합니다.
  • 관리형 수집은 상태 조회 중심이며 DDL/DML을 수행하지 않습니다.
  • 복제 토폴로지 변경, 장애 조치, 백업/복원, 사용자/권한 변경은 별도 운영 절차의 영역입니다.
  • 비밀번호, endpoint 이름, TLS 자료, DSN, raw driver 오류는 민감 정보 경계 안에서만 사용하고 작업 응답이나 진단에 노출하지 않습니다.
  • 현재 플러그인은 OPTIMIZE TABLE, 임의 SQL, 복제 시작/중지, 장애 조치, 백업/복원, 사용자/스키마 변경을 제공하지 않습니다.

대표 시나리오

  • 접속 경고가 발생하면 최대 접속 수, 활성 세션, 풀러 사용 여부, 애플리케이션 배포 직후 트래픽 변화를 함께 봅니다.
  • 느린 쿼리 증가가 보이면 느린 쿼리 카운터, 처리량, 버퍼 풀 적중률, 배치 작업 시간을 비교합니다.
  • 복제 지연은 IO/SQL 스레드 상태, 릴레이 로그, 주 서버 쓰기량, 네트워크/스토리지 지연을 묶어 해석합니다.
  • 관리형 수집이 비어 있으면 계정 권한, 쿼리 제한 시간, 원격 쓰기 수신기, 리소스 식별 라벨을 확인합니다.

MySQL Family Enterprise 확장

MySQL Family Enterprise 확장은 Community가 정의한 MySQL, MariaDB, Percona Server, PXC/Galera 및 지원되는 관리형 MySQL 서비스 호환성 프로필에 MCP 설명자, 고급 진단, 메트릭 매핑, 이상 징후 탐지기를 추가합니다. 접속 압박, InnoDB, 복제, 워크로드 품질, 메트릭 수집 범위를 함께 분석합니다.

특징

  • 읽기 전용 MCP 표면에서 호환성 행렬과 제품 프로필 메타데이터, 대시보드, 모니터링 개요, 진단, 메트릭 카탈로그, 알림/이상 징후 규칙을 제공합니다.
  • CE 프로필 ID mysql, mariadb, percona, pxc, mariadb_galera, aurora_mysql, rds_mysql, cloudsql_mysql, azure_mysql을 그대로 사용합니다.
  • MCP에서 세션, 트랜잭션, 잠금, 연결, 복제, 설정, 테이블, 테이블별 옵티마이저 통계, WSRep 관리 근거를 읽기 전용으로 제공하며 변경 route는 의도적으로 제외합니다.
  • 선언형 메트릭 규칙과 플러그인 실행형 탐지기를 모두 사용합니다.
  • 플러그인 탐지기는 제한된 운영 스냅샷을 수집해 플러그인 모드 규칙만 평가합니다.
  • 진단은 연결, 엔진 식별, 워크로드, InnoDB, 복제와 WSRep 클러스터, 메트릭 수집 범위, 알림 준비 상태를 다룹니다.
  • correlation/incident-evidence에서 세션 압박, 장기 트랜잭션, 잠금 경합, 토폴로지 상태, 메트릭 신선도를 제한된 읽기 전용 근거로 상관분석합니다.

등록 전 확인

  • 선택한 Community MySQL 계열 프로필의 연결과 권한이 정상이어야 합니다.
  • Prometheus 익스포터 메트릭과 매핑팩을 연결합니다.
  • compatibility/matrix에서 호환성 프로필을 확인하고 복제 또는 WSRep 진단에 필요한 읽기 권한과 토폴로지 접근을 확인합니다.

운영 팁

  • 느린 쿼리, 접속 포화, InnoDB 압박은 워크로드 변화와 배포 이벤트를 함께 봅니다.
  • 플러그인 모드 탐지기와 메트릭 모드 규칙의 입력 범위가 다르므로 결과 차이는 스냅샷 근거와 메트릭 수집 범위를 같이 확인합니다.
  • coverage_gap은 정상 상태가 아니라 근거를 사용할 수 없다는 뜻입니다. 장애를 해제하기 전에 누락된 SQL capability 또는 오래된 메트릭 소스를 복구합니다.

운영 시나리오

  • 애플리케이션 지연이 증가하면 접속 압박, 잠금/대기, InnoDB 버퍼/purge, 복제 지연, 느린 쿼리 증가를 함께 봅니다.
  • 여러 family DB가 섞인 환경에서는 감지된 제품, 배포 토폴로지, capability 상태와 메트릭 매핑 차이를 먼저 확인해 규칙 적용 범위를 맞춥니다.
  • 플러그인 탐지기는 제한된 운영 스냅샷으로 메트릭만으로 부족한 상태를 보완하고, 선언형 규칙은 장기 메트릭 추세를 평가합니다.
  • PXC와 MariaDB Galera에서는 Primary 컴포넌트 상태, 노드 준비 상태, 흐름 제어, 인증 충돌을 함께 봅니다. WSRep를 비동기 복제로 해석하지 않습니다.
  • 관리형 MySQL 서비스는 메트릭 소스를 연결하고 최신 메트릭 근거를 제공해야 합니다. SQL 근거만 있거나 메트릭이 오래되면 명시적인 coverage gap으로 남습니다.

MCP 및 상관분석 정책

  • capability 기반 관리 인벤토리 리소스와 도구의 descriptor에는 읽기 전용 접근, CE 관리 조회 권한, 필수 capability, 호환성 행렬 출처와 fail-closed 정책이 포함됩니다.
  • MCP에는 관리 변경 작업을 노출하지 않습니다. 유지보수 작업 route는 카탈로그 조회이며 작업을 실행하지 않습니다.
  • CE 관리 액션 대화상자는 운영자가 입력하는 요청 ID, 티켓 ID, 사유 필드를 요구하지 않습니다. Core가 생성한 요청 상관관계 값은 전송 메타데이터로 유지되며 동기 작업의 비동기 실행 ID로 노출하지 않습니다.
  • inspect_table_statistics MCP 조회 도구는 스키마와 테이블을 필수로 받아 CE 통계 상세 화면과 동일한 현재 인덱스 카디널리티 및 옵티마이저 메타데이터를 제한된 범위로 조회합니다. ANALYZE TABLE을 실행하거나 이력을 저장하지 않습니다.
  • CE 테이블 통계 갱신에 성공하면 관리 UI는 읽기 쉬운 작업 결과를 유지하고 새로 조회한 통계 상세 화면을 자동으로 엽니다. 카디널리티 값은 옵티마이저 추정치이며 저장된 전후 비교가 아닙니다.
  • 장애 상관분석은 SQL을 복제하지 않고 CE route를 소비합니다. 근거 묶음에는 제한된 집계값만 포함하며 세션 행, 사용자명, 호스트, 쿼리 미리보기, 복제 원본 식별자를 제외합니다.
  • 상관분석은 운영 판단을 돕는 읽기 전용 결과입니다. 연결 종료, 설정 변경, 테이블 분석, 복제본 승격, 클러스터 장애조치, 관리형 서비스 control plane 호출을 수행하지 않습니다.

경계

  • CE의 compatibility/matrix 레지스트리가 기준이며 Enterprise 확장은 해당 제품 용어와 route를 소비하고 별도 호환성 표를 유지하지 않습니다.
  • 알 수 없거나 지원되지 않는 프로필은 fail-closed로 처리합니다. 프로토콜 호환성만으로 관리 변경을 허용하지 않으며 CE의 capability 검사, 권한 tier, dry-run, 명시적 확인, safe-mode override, 최신 대상 근거가 기준입니다.
  • Enterprise 진단과 MCP route는 읽기 중심 근거 수집에 집중합니다. 스키마 변경, 장애 조치, 세션 종료 같은 작업은 명시적 권한과 보호된 대상 검증이 적용되는 CE 관리 액션을 따릅니다.
  • 제품별 histogram과 영구 통계 이력은 MySQL family 공통 계약 및 Enterprise MCP 계약에 포함하지 않습니다.
  • MySQL 계열 공통 동작은 CE에 두고 Enterprise 전용 이상 징후, MCP, 고급 진단 메타데이터만 확장 계층에 둡니다.