라이브러리
[MYSQL_CONFIG] --innodb_lock_wait_timeout - InnoDB 잠금 대기 시간 설정
인노드 락 대기 시간 초과 (InnoDB Lock Wait Timeout)
인노드 락 대기 시간 초과는 MySQL에서 인노드 락을 기다리는 시간을 제어하는 변수입니다. 이 변수는 MySQL 서버가 인노드 락을 기다리기 전에 timeout을 발생시키는 시간을 지정합니다.
기본값
기본값은 50초로, 이 시간 동안 MySQL 서버는 인노드 락을 기다립니다. 만약 50초가 지나면 MySQL 서버는 timeout을 발생시키고 에러 메시지를 출력합니다.
설정 방법
`--innodb_lock_wait_timeout` 옵션을 사용하여 인노드 락 대기 시간 초과를 설정할 수 있습니다. 예를 들어, 10초로 설정하려면 다음과 같이 설정할 수 있습니다.
#hostingforum.kr
bash
--innodb_lock_wait_timeout=10
또는 MySQL 서버의 `my.cnf` 파일에 다음과 같이 추가할 수 있습니다.
#hostingforum.kr
bash
[mysqld]
innodb_lock_wait_timeout = 10
예제
다음 예제에서는 `innodb_lock_wait_timeout` 변수를 10초로 설정하고, MySQL 서버를 시작합니다.
#hostingforum.kr
bash
# my.cnf 파일에 설정
[mysqld]
innodb_lock_wait_timeout = 10
# MySQL 서버 시작
mysql -uroot -p비밀번호
이제 MySQL 서버에서 인노드 락을 기다리는 시간이 10초로 설정되어 있습니다.
결과
만약 MySQL 서버가 인노드 락을 기다리기 위해 10초가 넘는 시간을 기다리면 timeout을 발생시키고 에러 메시지를 출력합니다.
#hostingforum.kr
sql
mysql> LOCK TABLES t1 WRITE;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
이러한 에러 메시지를 출력하기 전에 MySQL 서버는 10초 동안 인노드 락을 기다렸습니다.
참고
`innodb_lock_wait_timeout` 변수는 MySQL 5.7.6 버전부터 사용할 수 있습니다. 이전 버전에서는 다른 변수를 사용해야 합니다.
또한, `innodb_lock_wait_timeout` 변수는 MySQL 서버가 인노드 락을 기다리기 전에 timeout을 발생시키는 시간을 지정합니다. 만약 MySQL 서버가 인노드 락을 기다리기 전에 다른 문제가 발생하면 timeout이 발생하지 않을 수 있습니다.
댓글목록
등록된 댓글이 없습니다.