MySQL 서버는 작업에 대한 정보를 제공하는 많은 상태 변수를 유지합니다. SHOW [GLOGL | Session] Status 문을 사용하여 변수와 값을 볼 수 있습니다. 선택적 글로벌 키워드는 모든 연결에 걸쳐 값을 집계하고 Session(세션)은 현재 연결에 대한 값을 표시합니다. mysql> SHOW GLOBAL STATUS; +-----------------------------------+------------+ | Variable_name | Value | +-----------------------------------+------------+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Bytes_received | 155372598 | |..
MySQL 서버는 다른 SQL 모드에서 작동 할 수 있으며 sql_mode 시스템 변수의 값에 따라이 모드를 다른 클라이언트에 다르게 적용 할 수 있습니다. DBA는 사이트 서버 운영 요구 사항과 일치하도록 전역 SQL 모드를 설정할 수 있으며 각 응용 프로그램은 세션 SQL 모드를 자체 요구 사항으로 설정할 수 있습니다. 모드는 MySQL이 지원하는 SQL 구문과 수행하는 데이터 유효성 검사에 영향을줍니다. 따라서 다른 환경에서 MySQL을보다 쉽게 사용하고 다른 데이터베이스 서버와 함께 MySQL을 사용할 수 있습니다. + SQL 모드 설정 + 가장 중요한 SQL 모드 + SQL 모드의 전체 목록 + 조합 SQL 모드 + 엄격한 SQL 모드 + IGNORE 키워드와 엄격한 SQL 모드의 비교 + ..
■ InnoDB 트랜잭션 그리고 잠금 정보 모니터링 3개의 InnoDB INFORMATION_SCHEMA 테이블을 사용하여 트랜잭션을 모니터링하고 잠재적인 잠금 문제를 진단할 수 있습니다. • InnoDB 트랜잭션 사용 및 잠금 정보 • InnoDB 잠금(Lock) 그리고 잠금대기(Lock-wait) 정보 • InnoDB 트랜잭션 및 잠금 정보의 지속성 및 일관성 + INNODB_TRX : 트랜잭션 상태 (예 : 실행 중인지 또는 잠금 대기 중인지 여부), 트랜잭션 시작 시점, 트랜잭션이 실행중인 특정 SQL 문을 포함하여 InnoDB 내에서 현재 실행중인 모든 트랜잭션에 대한 정보를 제공합니다. + INNODB_LOCKS : 다른 트랜잭션이 잠금을 해제하기를 기다리는 InnoDB의 각 트랜잭션 (INN..
■ MySQL 서버 파라미터 특징 MySQL서버 환경을 설정할 때 몇가지 특징이 있습니다. 이 특징들에 대해 알아보고 파라미터를 어떻게 설정하고 적용하는지 알아봅니다. ■ 서버 파라미터의 Dynamic적용 여부 MySQL 파라미터는 바로 적용할 수 있는 파라미터와 서버를 재시작해야 적용되는 파라미터가 있습니다. 이 파라미터는 다음 페이지에서 확인 가능합니다. 한글로 번역해 놓았습니다. 보기가 편리하시리라 생각합니다. Dynamic 항목에서 Dynnamic이 YES면 바로 적용이 가능하며 NO이면 서버가 재시작 되어야 적용이 됩니다. MySQL 파라미터 한글번역 : https://github.com/myacelink/MySQL ■ my.cnf 기본 위치 우분투나 CentOS등의 리눅스 운영체제에서 데이터베..
■ INNODB_METRICS 테이블 INNODB_METRICS 테이블은 InnoDB 성능 및 리소스 관련 카운터에 대한 정보를 제공합니다. INNODB_METRICS 테이블 컬럼은 다음과 같습니다. mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME="dml_inserts" \G *************************** 1. row *************************** NAME: dml_inserts SUBSYSTEM: dml COUNT: 46273 MAX_COUNT: 46273 MIN_COUNT: NULL AVG_COUNT: 492.2659574468085 COUNT_RESET: 46273 MAX_COUNT_RES..
□ MySQL데이터베이스 사용방법 MySQL 데이터베이스에 대해 사용방법을 알아봅니다. DB생성, 테이블 생성-삭제, DML문법을 알아봅니다. ■ 데이터 베이스 사용을 위한 환경설정. 파이선에서 MySQL데이터베이스를 사용하기 위해선 PyMySQL이란 패키지를 설치해야 합니다. ▶︎ 인스톨방법 shell> pip install PyMySQL [root@singledb ~]# pip install PyMySQL Collecting PyMySQL Downloading PyMySQL-0.10.1-py2.py3-none-any.whl (47 kB) |████████████████████████████████| 47 kB 298 kB/s Installing collected packages: PyMySQL Suc..
■ InnoDB 버퍼풀 테이블 InnoDB INFORMATION_SCHEMA 버퍼풀 테이블은 InnoDB 버퍼 풀 내의 페이지에 대한 버퍼풀 상태정보 및 메타 데이터를 제공합니다. InnoDB INFORMATION_SCHEMA 버퍼풀 테이블에는 아래 나열된 테이블이 포함됩니다. mysql> SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB_BUFFER%'; +-----------------------------------------------+ | Tables_in_INFORMATION_SCHEMA (INNODB_BUFFER%) | +-----------------------------------------------+ | INNODB_BUFFER_PAGE_LRU |..
■ InnoDB 시스템 테이블 InnoDB INFORMATION_SCHEMA 시스템 테이블을 사용하여 InnoDB가 관리하는 스키마 객체에 대한 메타 데이터를 추출할 수 있습니다. 이 정보는 InnoDB 내부 시스템 테이블 (InnoDB 데이터 사전이라고도 함)에서 가져 오며, 일반 InnoDB 테이블처럼 직접 쿼리할 수 없습니다. 전통적으로 InnoDB 모니터의 기술을 사용하여 이러한 유형의 정보를 얻고, InnoDB 모니터를 설정하고 SHOW ENGINE INNODB STATUS 문에서 출력을 구문 분석합니다. InnoDB INFORMATION_SCHEMA 테이블 인터페이스를 사용하면 SQL을 사용하여이 데이터를 쿼리할 수 있습니다. 해당 내부 시스템 테이블이없는 INNODB_SYS_TABLESTAT..
■ INNODB_METRICS Table INNODB_METRICS 테이블은 InnoDB용 성능 스키마 테이블의 특정 초점 영역을 보완하는 다양한 InnoDB 성능 정보를 제공합니다. 간단한 쿼리로 시스템의 전반적인 상태를 확인할 수 있습니다. 각 모니터는 카운터 정보를 수집하도록 계측 된 InnoDB 소스 코드 내의 지점을 나타냅니다. 각 카운터를 시작, 중지 및 재설정 할 수 있습니다. 공통 모듈 이름을 사용하여 카운터 그룹에 대해 이러한 작업을 수행 할 수도 있습니다. 기본적으로 비교적 적은 양의 데이터가 수집됩니다. 카운터를 시작, 중지 및 재설정하려면 카운터 이름, 모듈의 이름, "%" 문자를 사용하는 와일드카드 일치 또는 특수 키워드를 사용하여 시스템 변수 innodb_monitor_enabl..
■ INNODB_BUFFER_PAGE Table INNODB_BUFFER_PAGE 테이블은 InnoDB 버퍼 풀의 각 페이지에 대한 정보를 제공합니다. 중요사항 INNODB_BUFFER_PAGE 테이블을 쿼리하면 성능에 영향을 줄 수 있습니다. 성능 영향을 인식하고 허용할 수 있다고 결정하지 않는한 프로덕션 시스템에서이 테이블을 쿼리하면 안됩니다. 프로덕션 시스템의 성능에 영향을 주지 않으려면 조사하려는 문제를 재현하고 테스트 인스턴스에서 버퍼풀 통계를 쿼리합니다. 각 컬럼의 정보는 다음과 같습니다. • POOL_ID 버퍼 풀 ID입니다. 여러 버퍼 풀 인스턴스를 구별하기위한 식별자입니다. • BLOCK_ID 버퍼 풀 블록 ID입니다. • SPACE 테이블 스페이스 ID입니다. INNODB_SYS_TAB..
Federated기능은 로컬 서버에서 원격 서버의 테이블을 연결해 마치 자신의 테이블인것처럼 조회하고 입력하고 삭제하는 기능입니다. 로컬에서 작업하지만 실제로는 원격의 서버 테이블에 실제 작업이 수행됩니다. ■ 사용방법 소스에서 MySQL을 빌드하는 경우 FEDERATED 스토리지 엔진을 포함하려면 -DWITH_FEDERATED_STORAGE_ENGINE 옵션을 사용하여 CMake를 실행합니다. FEDERATED 스토리지 엔진은 실행중인 서버에서 기본적으로 활성화되지 않습니다. FEDERATED를 활성화하려면 다음과 같은 2가지 방법을 사용합니다. 1. shell> mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --federated & 2. 서버 파라미터인..
■ Federated Storage Engine FEDERATED 스토리지 엔진을 사용하면 복제 또는 클러스터 기술을 사용하지 않고도 원격 MySQL 데이터베이스의 데이터에 액세스 할 수 있습니다. 로컬 FEDERATED 테이블을 쿼리하면 원격 테이블에서 데이터를 자동으로 가져옵니다. 로컬 테이블에는 데이터가 저장되지 않습니다. 소스에서 MySQL을 빌드하는 경우 FEDERATED 스토리지 엔진을 포함하려면 -DWITH_FEDERATED_STORAGE_ENGINE 옵션을 사용하여 CMake를 호출합니다. FEDERATED 스토리지 엔진은 실행중인 서버에서 기본적으로 활성화되지 않습니다. FEDERATED를 활성화하려면 --federated 옵션을 사용하여 MySQL 서버 바이너리를 시작해야합니다. FED..