Hvordan finne ut hvem som låser et bord i mysql

Hvordan finne ut hvem som låser et bord i mysql
En MySQL -lås refererer til et låsflagg koblet til et bord. Hovedbruken av MySQL -låser er i brukerøkter for å forhindre at andre brukerøkter får tilgang til bordet under en aktiv økt. En spesifikk MySQL -økt kan bare få tilgang til låsene sine og ikke låser knyttet til andre klienter.

Når et bord er låst i en bestemt økt, kan ikke andre økter lese eller skrive til bordet med mindre låsen fra økten er utgitt. Derfor er alle andre økter i ventemodus til låsen er utgitt.

Denne korte guiden vil vise deg hvordan du viser tilgjengelige låser ved hjelp av kommandoen for showprosessliste.

Hvordan låse et bord

For å anskaffe en låsetilstand på et bestemt bord, kan du bruke uttalelsen om låsbord. Den generelle syntaksen for låsebord er:

mysql> låsetabeller tb_name [lock_type]

I låsetypen kan du spesifisere lese eller lese lås. Eksemplet nedenfor angir skrivelåsen på skuespillertabellen.

Låsebord Sakila.Skuespiller leste;

Når du har lockset, vil ikke alle de andre øktene oppdatere noen data som er lagret i tabellen.

For eksempel vil følgende uttalelse mislykkes med mindre tabellen er låst opp.

Sett inn Sakila.skuespiller (første_navn, last_name, last_update) verdier ('hallo', 'verden', current_date ());

MySQL vil gi deg en lesefeil som:

Feil 1099 (HY000): Tabell 'Actor' ble låst med en leselås og kan ikke oppdateres

Hvordan låse opp et bord

For å låse opp en tabell, bruk spørringen for låse tabeller som:

mysql> låse opp tabeller;

Vis låste bord

Som standard er det ingen definitive måte du kan spørre for å vise for låst bord som: (vis låste tabeller;).

Vi kan imidlertid bruke en prosesslistekommando for å vise de låste tabellene og brukerne.

Bruk kommandoen:

Vis prosessliste;

Dette vil dumpe informasjonen så vel som spørsmålene som venter på å låse.

Eksemplet ovenfor viser rotbrukeren som låser tabellen i skuespillertabellen.

Konklusjon

Denne korte opplæringen viste deg hvordan du låser og låser opp tabeller og ser brukerne som har en tabell låst i en database.