1. 현재 접속중인 유저 및 실행 중인 쿼리 확인 show full processlist; -- 상세 select * from INFORMATION_SCHEMA.PROCESSLIST; 2. 해당 Thread 현황 -- 해당 Thread 현황 select * from information_schema.INNODB_TRX; 3. 마지막 해당 Thread에서 실행중(된) 쿼리 조회 -- 마지막에 해당 thread에서 실행중(된) 쿼리 조회 SELECT esc.THREAD_ID, t.processlist_id, esc.SQL_TEXT FROM performance_schema.events_statements_current esc /*********************************************..
Cluster Index 란 -. MySQL에서 클러스트링 인덱스는 InnoDB와 TokuDB 스토리지 엔진에만 지원하며, 나머지 스토리지 엔진에서는 지원되지 않는다. -. 클러스터링 인덱스는 PK에 대해서만 적용되는 내용이다. -. 테이블당 1개만 생성가능하다. -. PK값이 비슷한 레코드끼리 묶어서 저장하는 것을 클러스터링 인덱스라 한다. 구조 -. 루트 노드, 리프 노드로만 구성되어 있으며, 리프 노드가 곧 데이터이다. -. 클러스터링 인덱스라 함은 결국 테이블 자체가 하나의 인덱스 구조로 관리되는 것이다. -. 이런점을 보면 클러스터링 인덱스는 인덱스 알고리즘 보다는 테이블 레코드의 저장 방식이라고 볼 수 있다. CREATE TABLE employees ( emp_no INT NOT NULL, f..
Transcation 과 Lock 1. Transcation 논리적인 작업단위로 전부터리되거나 처리되지 않는 (Commit / Rollback) 원자성을 보장하기 위한 기능이다. MySQL InnoDB의 격리 레벨(isolation level)이 REPEATABLE TABLE 이다. show session variables like '%isola%'; +-----------------------+-----------------+ | Variable_name | Value | +-----------------------+-----------------+ | transaction_isolation | REPEATABLE-READ | +-----------------------+-----------------..
Docker & PMM Server 설치 1. Docker & Docker Registry 설치 yum -y install docker docker-registry Docker가 설치되었으면 재기동시 자동으로 데몬이 올라올수 있게 서비스를 등록해준다. 2. Services 등록 systemctl enable docker.service 3. Service 시작 및 상태 확인 systemctl start docker systemctl status docker.service 4. Docker image 내려받기 docker pull percona/pmm-server 5. Image 확인 docker images 6. PMM data container 생성 docker create -v /opt/promethe..
MYSQL 엔진 아키텍처 -. 요청된 SQL 문장을 분석하거나 최적화하는 등, DBMS의 두뇌에 해당하는 처리를 수행한다. -. MySQL 엔진의 중심 구성 요소 접속 및 쿼리 요청을 처리하는 커넥션 핸들러 SQL파서 -. 들어온 쿼리를 MySQL이 인식할 수 있는 어휘나 기호로 분리해 트리 형태의 구조로 만들어내는 작업을 수행한다. -. 쿼리의 기본 문법 오류가 이 과정에서 발견되고 사용자에게 오류 메세지를 전달한다. 전처리기 - 파서 과정에서 만들어진 파서 쿼리를 기반으로 문장에 구조적 문제점을 확인한다. -. 데이블 이름이나, 컬럼, 내장 함수와 같은 개체를 매핑해 객체의 존재 여부와 접근 권한 등을 확인하는 과정을 수행한다. 옵티마이저 -. 쿼리를 저렴한 비용으로 가장 빠르게 할 수 있도록 최적화..
Backup 비교핫 백업 (Hot Backup/Open Backup)DB 서버를 온라인 상태로 유지한 채 데이터 백업- 데이터베이스 서버를 중지하지 않고 백업 가능- 트랜잭션, 스냅샷, 로그 등을 이용하여 실시간 백업- Archive Log 모드에서만 백업을 수행할 수 있음- 디스크 용량이 추가로 요구될 수 있음- 핫 백업 도구를 사용할 때의 비용이 발생할 수 있음콜드 백업 (Cold Backup/Close Backup)DB 서버를 중지한 후 데이터 백업- 쉬운 백업이 가능함- 데이터 백업을 요청한 시기 이후의 데이터는 백업할 수 없음 (따라서 일부 데이터 손실이 발생할 수 있음)논리 백업 (Logical Backup)각 오브젝트를 SQL문 등으로 저장- 데이터의 쉬운 검토 가능- 데이터 백원 및 복원 ..