□ MySQL데이터베이스 사용방법MySQL 데이터베이스에 대해 사용방법을 알아봅니다. DB생성, 테이블 생성-삭제, DML문법을 알아봅니다. ■ 데이터 베이스 사용을 위한 환경설정.파이선에서 MySQL데이터베이스를 사용하기 위해선 PyMySQL이란 패키지를 설치해야 합니다. ▶︎ 인스톨방법shell> pip install PyMySQL[root@singledb ~]# pip install PyMySQLCollecting PyMySQL Downloading PyMySQL-0.10.1-py2.py3-none-any.whl (47 kB) |████████████████████████████████| 47 kB 298 kB/s Installing collected packages: PyMySQLSuc..
■ 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_TABLESTATS..
■ INNODB_METRICS TableINNODB_METRICS 테이블은 InnoDB용 성능 스키마 테이블의 특정 초점 영역을 보완하는 다양한 InnoDB 성능 정보를 제공합니다.간단한 쿼리로 시스템의 전반적인 상태를 확인할 수 있습니다. 각 모니터는 카운터 정보를 수집하도록 계측 된 InnoDB 소스 코드 내의 지점을 나타냅니다. 각 카운터를 시작, 중지 및 재설정 할 수 있습니다. 공통 모듈 이름을 사용하여 카운터 그룹에 대해 이러한 작업을 수행 할 수도 있습니다. 기본적으로 비교적 적은 양의 데이터가 수집됩니다. 카운터를 시작, 중지 및 재설정하려면 카운터 이름, 모듈의 이름, "%" 문자를 사용하는 와일드카드 일치 또는 특수 키워드를 사용하여 시스템 변수 innodb_monitor_enable,..
■ INNODB_BUFFER_PAGE TableINNODB_BUFFER_PAGE 테이블은 InnoDB 버퍼 풀의 각 페이지에 대한 정보를 제공합니다. 중요사항INNODB_BUFFER_PAGE 테이블을 쿼리하면 성능에 영향을 줄 수 있습니다. 성능 영향을 인식하고 허용할 수 있다고 결정하지 않는한 프로덕션 시스템에서이 테이블을 쿼리하면 안됩니다.프로덕션 시스템의 성능에 영향을 주지 않으려면 조사하려는 문제를 재현하고 테스트 인스턴스에서 버퍼풀 통계를 쿼리합니다. 각 컬럼의 정보는 다음과 같습니다. • POOL_ID버퍼 풀 ID입니다. 여러 버퍼 풀 인스턴스를 구별하기위한 식별자입니다. • BLOCK_ID버퍼 풀 블록 ID입니다. • SPACE테이블 스페이스 ID입니다. INNODB_SYS_TABLES.SP..
■ EFERENTIAL_CONSTRAINTS Table• REFERENTIAL_CONSTRAINTS 테이블은 외부참조 키에 대한 정보를 제공합니다.각 컬럼의 정보는 다음과 같습니다. • CONSTRAINT_CATALOGThe name of the catalog to which the constraint belongs. This value is always def.제약조건이 속한 카탈로그의 이름입니다. 이 값은 항상 def입니다. • CONSTRAINT_SCHEMA제약조건이 속한 스키마 (데이터베이스)의 이름입니다. • CONSTRAINT_NAME제약조건의 이름입니다. • UNIQUE_CONSTRAINT_CATALOG제약 조건이 참조하는 유니크한 제약 조건이 포함된 카탈로그의 이름입니다. 이 값은 항상 d..
■ COLUMNS Table특정테이블에 포함된 컬럼 속성 정보 표시합니다.각 컬럼의 정보는 다음과 같습니다. • TABLE_CATALOG열을 포함하는 테이블이 속한 카탈로그의 이름입니다. 항상 def값입니다. • TABLE_SCHEMA테이블이 속한 스키마(데이터베이스) 이름입니다. • TABLE_NAME해당 컬럼이 있는 테이블 이름입니다. • COLUMN_NAME컬럼이름입니다. • ORDINAL_POSITION테이블 내 컬럼의 위치(순서)입니다. SHOW COLUMNS 명령어와 달리 COLUMNS 테이블의 SELECT에는 자동으로 정렬되어 출력되지 않습니다. • COLUMN_DEFAULT컬럼 기본값을 지정합니다. insert명령어로 null값이 들어올 시 어떤값으로 대체할지 결정합니다. 기본값이 null..
Federated기능은 로컬 서버에서 원격 서버의 테이블을 연결해 마치 자신의 테이블인것처럼 조회하고 입력하고 삭제하는 기능입니다. 로컬에서 작업하지만 실제로는 원격의 서버 테이블에 실제 작업이 수행됩니다. ■ 사용방법소스에서 MySQL을 빌드하는 경우 FEDERATED 스토리지 엔진을 포함하려면 -DWITH_FEDERATED_STORAGE_ENGINE 옵션을 사용하여 CMake를 실행합니다. FEDERATED 스토리지 엔진은 실행중인 서버에서 기본적으로 활성화되지 않습니다. FEDERATED를 활성화하려면 다음과 같은 2가지 방법을 사용합니다.1. shell> mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --federated &2. 서버 파라미터인 my..
■ Federated Storage EngineFEDERATED 스토리지 엔진을 사용하면 복제 또는 클러스터 기술을 사용하지 않고도 원격 MySQL 데이터베이스의 데이터에 액세스 할 수 있습니다. 로컬 FEDERATED 테이블을 쿼리하면 원격 테이블에서 데이터를 자동으로 가져옵니다. 로컬 테이블에는 데이터가 저장되지 않습니다. 소스에서 MySQL을 빌드하는 경우 FEDERATED 스토리지 엔진을 포함하려면 -DWITH_FEDERATED_STORAGE_ENGINE 옵션을 사용하여 CMake를 호출합니다. FEDERATED 스토리지 엔진은 실행중인 서버에서 기본적으로 활성화되지 않습니다. FEDERATED를 활성화하려면 --federated 옵션을 사용하여 MySQL 서버 바이너리를 시작해야합니다. FEDE..
Generated Column(생성된 컬럼)에 허용되는 ALTER TABLE 연산은 ADD, MODIFY 및 CHANGE입니다. • Generated Column을 추가 할 수 있습니다. CREATE TABLE t1 (c1 INT); ALTER TABLE t1 ADD COLUMN c2 INT GENERATED ALWAYS AS (c1 + 1) STORED; • Generated Column의 데이터 유형 및 표현식을 수정할 수 있습니다. CREATE TABLE t1 (c1 INT, c2 INT GENERATED ALWAYS AS (c1 + 1) STORED); ALTER TABLE t1 MODIFY COLUMN c2 TINYINT GENERATED ALWAYS AS (c1 + 5) STORED; • Ge..
■ InnoDB 문제 해결다음 지침은 InnoDB 문제 해결에 적용됩니다.+ 작업이 실패하거나 버그가 의심되면 MySQL 서버 오류 로그를 확인합니다. + 장애가 교착 상태와 관련된 경우, 각 교착 상태에 대한 세부 사항이 MySQL 서버 오류 로그에 인쇄되도록 innodb_print_all_deadlocks 옵션을 사용하여 실행합니다. + InnoDB 데이터 딕셔너리와 관련된 문제에는 실패한 CREATE TABLE 문(고아 테이블 파일: orphan table files), “InnoDB 파일을 열 수 없음” 및 “시스템이 경로 지정 오류를 찾을 수 없음”이 포함됩니다. + 문제 해결시 일반적으로 mysqld_safe 또는 Windows 서비스가 아닌 명령 프롬프트에서 MySQL 서버를 실행하는 것이 ..
■ 프로파일링 방법.▶︎ SHOW PROFILE 문법SHOW PROFILE [type [, type] ... ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]]type: { ALL | BLOCK IO | CONTEXT SWITCHES | CPU | IPC | MEMORY | PAGE FAULTS | SOURCE | SWAPS} SHOW PROFILE 및 SHOW PROFILES 문은 현재 세션중에서 실행된 명령문의 자원 사용량을 나타내는 프로파일링 정보를 표시합니다. 참고사항SHOW PROFILE 및 SHOW PROFILES 문은 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다. 대신 PPerformance Sch..