Come scoprire chi sta bloccando un tavolo in mysql

Come scoprire chi sta bloccando un tavolo in mysql
Un blocco mysql si riferisce a un bandiera di blocco collegato a una tabella. L'uso principale dei blocchi MySQL è nelle sessioni dell'utente per impedire ad altre sessioni utente di accedere alla tabella durante una sessione attiva. Una sessione MySQL specifica può accedere solo ai suoi blocchi e non ai blocchi associati ad altri client.

Una volta che una tabella è bloccata in una determinata sessione, altre sessioni non possono leggere o scrivere nella tabella a meno che il blocco della sessione non venga rilasciato. Pertanto, tutte le altre sessioni sono in modalità di attesa fino al rilascio del blocco.

Questa breve guida ti mostrerà come mostrare i blocchi disponibili utilizzando il comando dell'elenco del processo di spettacolo.

Come bloccare un tavolo

Per acquisire uno stato di blocco su una tabella specifica, è possibile utilizzare l'istruzione tabelle di blocco. La sintassi generale per le tabelle di bloccaggio è:

Mysql> Lock Tabelle TB_NAME [Lock_Type]

Nel tipo di blocco, è possibile specificare il blocco di lettura o di lettura. L'esempio seguente imposta il blocco di scrittura sulla tabella dell'attore.

Blocca i tavoli Sakila.Attore letto;

Una volta che hai il blocco, tutte le altre sessioni non aggiorneranno i dati archiviati nella tabella.

Ad esempio, la seguente istruzione non fallirà a meno che la tabella non sia sbloccata.

Inserire in Sakila.attore (first_name, last_name, last_update) valori ('hello', 'world', current_date ());

MySQL ti darà un errore di lettura come:

Errore 1099 (HY000): la tabella 'Actor' è stato bloccato con un blocco di lettura e non può essere aggiornato

Come sbloccare un tavolo

Per sbloccare un tavolo, utilizzare la query di sblocchi come:

mysql> tavoli di sblocco;

Mostra tavoli bloccati

Per impostazione predefinita, non esiste un modo definitivo che puoi fare una query da mostrare per una tabella bloccata come: (mostra tabelle bloccate;).

Tuttavia, possiamo utilizzare un comando di elaborazioni per mostrare le tabelle bloccate e gli utenti.

Usa il comando:

Mostra elaboraggio;

Questo scaricherà le informazioni e le domande in attesa di bloccare.

L'esempio sopra mostra l'utente root che blocca la tabella nella tabella degli attori.

Conclusione

Questo breve tutorial ti ha mostrato come bloccare e sbloccare le tabelle e visualizzare gli utenti che hanno una tabella bloccata in un database.