Loading...
MySQL 9.5 Reference Manual 9.5의 17.20 InnoDB Troubleshooting의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
17.20.1 Troubleshooting InnoDB I/O Problems
17.20.2 Troubleshooting Recovery Failures
17.20.3 Forcing InnoDB Recovery
17.20.4 Troubleshooting InnoDB Data Dictionary Operations
17.20.5 InnoDB Error Handling
다음 일반적인 지침은 InnoDB 문제를 트러블슈팅할 때 적용됩니다:
어떤 작업이 실패했거나 버그가 의심되는 경우, MySQL 서버 에러 로그를 확인하십시오( Section 7.4.2, “The Error Log” 참조).
Server Error Message Reference는 마주칠 수 있는 일부 일반적인 InnoDB-고유 에러에 대한 트러블슈팅 정보를 제공합니다.
장애가 교착 상태와 관련된 경우, innodb_print_all_deadlocks 옵션을 활성화하여 각 교착 상태에 대한 상세 정보가 MySQL 서버 에러 로그에 출력되도록 하십시오. 교착 상태에 대한 정보는 Section 17.7.5, “Deadlocks in InnoDB”를 참조하십시오.
문제가 InnoDB 데이터 딕셔너리와 관련된 경우, Section 17.20.4, “Troubleshooting InnoDB Data Dictionary Operations”를 참조하십시오.
트러블슈팅 시에는 Windows 서비스로 실행하거나 mysqld_safe를 통해 실행하는 대신, 보통 명령 프롬프트에서 MySQL 서버를 실행하는 것이 가장 좋습니다. 이렇게 하면 mysqld가 콘솔에 출력하는 내용을 볼 수 있어, 무슨 일이 일어나고 있는지 더 잘 파악할 수 있습니다. Windows에서는 --console 옵션을 사용하여 mysqld를 시작해 출력 내용을 콘솔 창으로 보냅니다.
문제에 대한 정보를 얻기 위해 InnoDB 모니터를 활성화하십시오(Section 17.17, “InnoDB Monitors” 참조).
문제와 성능이 관련되어 있거나, 서버가 멈춘 것으로 보이는 경우, 표준 모니터를 활성화하여 InnoDB의 내부 상태에 대한 정보를 출력해야 합니다.
문제가 락과 관련된 경우, Lock Monitor를 활성화하십시오.
문제가 테이블 생성, 테이블스페이스 또는 데이터 딕셔너리 작업과 관련된 경우, InnoDB 내부 데이터 딕셔너리의 내용을 살펴보기 위해 InnoDB Information Schema system tables를 참고하십시오.
InnoDB는 다음 조건에서 표준 InnoDB 모니터 출력을 일시적으로 활성화합니다:
긴 세마포어 대기
버퍼 풀에서 InnoDB가 free 블록을 찾을 수 없음
버퍼 풀의 67%를 초과하는 부분이 락 힙 또는 어댑티브 해시 인덱스에 의해 점유되어 있는 경우
테이블이 손상되었을 가능성이 의심되는 경우, 해당 테이블에 대해 CHECK TABLE을 실행하십시오.
17.19 InnoDB and MySQL Replication
17.20.1 Troubleshooting InnoDB I/O Problems