programing

나사산이 손실된 경우 테이블 잠금 해제

coolbiz 2022. 11. 3. 22:55
반응형

나사산이 손실된 경우 테이블 잠금 해제

http://dev.mysql.com/doc/refman/5.0/en/internal-locking.html

다음은 설명서에서 발췌한 내용입니다.

mysql> LOCK TABLES real_table WRITE, temp_table WRITE;
mysql> INSERT INTO real_table SELECT * FROM temp_table;
mysql> DELETE FROM temp_table;
mysql> UNLOCK TABLES;

궁금한 점은 셸 스크립트코드에서 이 논리를 사용하여 스레드가 "Unlock tables" 스테이트먼트에 도달하기 전에 손실된 경우(절단되지 않은 경우) 일부 테이블이 잠겨 있는지 어떻게 알 수 있으며 테이블은 수동으로 잠금 해제해야 합니까?

MySQL의 일부 잠긴 테이블에 대해 강제로 잠금을 해제하려면 다음과 같이 하십시오.

1) MySQL 입력

mysql -u your_user -p

2) 잠긴 테이블 목록을 확인합니다.

mysql> show open tables where in_use>0;

3) 현재 프로세스의 목록을 확인합니다.그 중 하나가 테이블을 잠그는 것입니다.

mysql> show processlist;

4) 다음 프로세스 중 하나를 종료합니다.

mysql> kill put_process_id_here;

일부 테이블이 잠겨 있는지 어떻게 알 수 있습니까?

SHOW OPEN TABles 명령을 사용하여 잠긴 테이블을 표시할 수 있습니다.

수동으로 테이블의 잠금을 해제하려면 어떻게 해야 합니까?

테이블을 잠근 세션 ID - 'SELECT CONNECTION_ID'()를 알고 있는 경우 KILL 명령을 실행하여 세션을 종료하고 테이블을 잠금 해제할 수 있습니다.

Sequel Pro의 경우:

앱을 재시작하자 테이블이 잠겼습니다.세션 연결이 리셋됩니다.

NOTE: I was doing this for a site on my local machine.

언급URL : https://stackoverflow.com/questions/9783636/unlocking-tables-if-thread-is-lost

반응형