
쉘 스크립트가 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
따라서 위 출력에서 열이 테이블이 현재 사용되고 있음을 지정한다는 것이 분명합니다 .