como verificar se a tabela mysql é usada ou se um aplicativo acessa a tabela em shell script?

como verificar se a tabela mysql é usada ou se um aplicativo acessa a tabela em shell script?

Um script de shell está despejando uma mysqltabela, mas antes de despejar a tabela, quero verificar se essa tabela é usada por algum outro aplicativo. Nesse caso, quero esperar e entrar em um loop até que o aplicativo pare de carregar a tabela e continuar depois mysqdumpque terminar.

Responder1

Você precisa usar o comando,

SHOW OPEN TABLES

Experimente no meu sistema

Executei o comando e esta é a saída inicial que obtive.

"Database"  "Table"        "In_use"           "Name_locked"
db_name   "table1"           "0"                 "0"
db_name   "table2"           "0"                 "0"

Agora, executei uma SELECTconsulta em uma tabela ( table1) que tinha cerca de 2 milhões de registros. Abri outra conexão mysql e executei a consulta que mencionei. A saída que obtive é,

"Database"  "Table"        "In_use"           "Name_locked"
db_name   "table1"           "1"                 "0"
db_name   "table2"           "0"                 "0"

Portanto, pela saída acima, é evidente que a In_usecoluna especifica que a tabela está sendo usada no momento.

informação relacionada