쉘 스크립트는 mysql
테이블 덤프를 수행하고 있지만 테이블을 덤프하기 전에 다른 응용 프로그램에서 해당 테이블을 사용하고 있는지 확인하고 싶습니다. 그렇다면 애플리케이션이 테이블 로드를 중지할 때까지 기다렸다가 루프를 입력하고 mysqdump
완료되면 계속하고 싶습니다 .
답변1
명령을 사용해야합니다.
SHOW OPEN TABLES
내 시스템에서 실험하기
명령을 실행했는데 이것이 내가 얻은 초기 출력입니다.
"Database" "Table" "In_use" "Name_locked"
db_name "table1" "0" "0"
db_name "table2" "0" "0"
이제 약 2백만 개의 레코드가 포함된 테이블( )에 대해 쿼리를 실행하고 있습니다 SELECT
. table1
다른 mysql 연결을 열고 제가 언급한 쿼리를 실행했습니다. 내가 얻는 결과는 다음과 같습니다.
"Database" "Table" "In_use" "Name_locked"
db_name "table1" "1" "0"
db_name "table2" "0" "0"
In_use
따라서 위 출력에서 이 열은 테이블이 현재 사용 중임을 지정하는 것이 분명합니다 .