Loading...
MySQL 9.5 Reference Manual 9.5의 17.17.2 Enabling InnoDB Monitors의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
InnoDB 모니터를 주기적 출력용으로 활성화하면, InnoDB는 약 15초마다 모니터 출력을 mysqld 서버의 표준 오류 출력(stderr)으로 기록합니다.
InnoDB는 잠재적인 버퍼 오버플로를 피하기 위해 모니터 출력을 stdout이나 고정 크기 메모리 버퍼가 아니라 stderr로 전송합니다.
Windows에서는 stderr가 별도 설정이 없는 한 기본 로그 파일로 전달됩니다. 출력을 에러 로그가 아닌 콘솔 창으로 보내고 싶다면, 콘솔 창의 명령 프롬프트에서 서버를 --console 옵션을 사용해 시작하십시오. 자세한 내용은 Default Error Log Destination on Windows를 참조하십시오.
Unix 및 Unix 계열 시스템에서는, 별도 설정이 없는 한 stderr가 보통 터미널로 전달됩니다. 자세한 내용은 Default Error Log Destination on Unix and Unix-Like Systems를 참조하십시오.
InnoDB 모니터는 모니터 정보를 실제로 보고자 할 때에만 활성화해야 합니다. 출력 생성은 약간의 성능 저하를 유발하기 때문입니다. 또한 모니터 출력이 에러 로그로 전달되는 경우, 나중에 모니터 비활성화를 잊어버리면 로그가 상당히 커질 수 있습니다.
참고
문제 해결을 돕기 위해, InnoDB는 특정 조건에서 표준 InnoDB Monitor 출력을 일시적으로 활성화합니다. 자세한 내용은 Section 17.20, “InnoDB Troubleshooting”을 참조하십시오.
InnoDB 모니터 출력은 타임스탬프와 모니터 이름이 포함된 헤더로 시작합니다. 예를 들면 다음과 같습니다:
1===================================== 22014-10-16 18:37:29 0x7fc2a95c1700 INNODB MONITOR OUTPUT 3=====================================
표준 InnoDB Monitor(INNODB MONITOR OUTPUT)의 헤더는 Lock Monitor에도 사용됩니다. Lock Monitor는 표준 출력에 락 정보가 추가된 동일한 출력을 생성하기 때문입니다.
innodb_status_output 및 innodb_status_output_locks 시스템 변수는 표준 InnoDB Monitor와 InnoDB Lock Monitor를 활성화하는 데 사용됩니다.
InnoDB Monitor를 활성화하거나 비활성화하려면 PROCESS 권한이 필요합니다.
표준 InnoDB Monitor는 innodb_status_output 시스템 변수를 ON으로 설정하여 활성화합니다.
1SET GLOBAL innodb_status_output=ON;
표준 InnoDB Monitor를 비활성화하려면 innodb_status_output을 OFF로 설정합니다.
서버를 종료하면 innodb_status_output 변수는 기본값인 OFF로 설정됩니다.
InnoDB Lock Monitor 데이터는 InnoDB Standard Monitor 출력과 함께 출력됩니다. InnoDB Standard Monitor와 InnoDB Lock Monitor가 모두 활성화되어 있어야 InnoDB Lock Monitor 데이터가 주기적으로 출력됩니다.
InnoDB Lock Monitor를 활성화하려면 innodb_status_output_locks 시스템 변수를 ON으로 설정합니다. InnoDB standard Monitor와 InnoDB Lock Monitor가 모두 활성화되어 있어야 InnoDB Lock Monitor 데이터가 주기적으로 출력됩니다:
1SET GLOBAL innodb_status_output=ON; 2SET GLOBAL innodb_status_output_locks=ON;
InnoDB Lock Monitor를 비활성화하려면 innodb_status_output_locks을 OFF로 설정합니다. InnoDB Standard Monitor도 비활성화하려면 innodb_status_output을 OFF로 설정합니다.
서버를 종료하면 innodb_status_output 및 innodb_status_output_locks 변수는 기본값인 OFF로 설정됩니다.
참고
SHOW ENGINE INNODB STATUS 출력에 대해 InnoDB Lock Monitor를 활성화하려면, innodb_status_output_locks만 활성화하면 됩니다.
주기적 출력을 위해 표준 InnoDB Monitor를 활성화하는 대신, SHOW ENGINE INNODB STATUS SQL 문장을 사용하여 필요할 때마다 표준 InnoDB Monitor 출력을 얻을 수 있으며, 이 문장은 출력을 클라이언트 프로그램으로 가져옵니다. mysql 대화형 클라이언트를 사용하는 경우, 일반적인 세미콜론 문장 종료자 대신 \G를 사용하면 출력이 더 읽기 쉽습니다:
1mysql> SHOW ENGINE INNODB STATUS\G
SHOW ENGINE INNODB STATUS 출력에는 InnoDB Lock Monitor가 활성화되어 있으면 InnoDB Lock Monitor 데이터도 포함됩니다.
Standard InnoDB Monitor 출력은 시작 시 --innodb-status-file 옵션을 지정하여 활성화하고 상태 파일로 보낼 수 있습니다. 이 옵션을 사용하면 InnoDB는 데이터 디렉터리에 innodb_status.pid라는 이름의 파일을 생성하고, 여기에 약 15초마다 출력을 기록합니다.
서버가 정상적으로 종료되면 InnoDB는 상태 파일을 제거합니다. 비정상 종료가 발생한 경우, 상태 파일을 수동으로 제거해야 할 수 있습니다.
--innodb-status-file 옵션은 출력 생성이 성능에 영향을 줄 수 있고, innodb_status.pid 파일이 시간이 지남에 따라 상당히 커질 수 있으므로 일시적 사용을 목적으로 합니다.
17.17.1 InnoDB Monitor Types
17.17.3 InnoDB Standard Monitor and Lock Monitor Output