라이브러리

[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이 발생하지 않을 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 59 페이지

검색

게시물 검색