Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17789|Odgovoriti: 0

[Vir] Čakalna meja zaklepa je presegla; Poskusi ponovno zagnati transakcijo

[Kopiraj povezavo]
Objavljeno na 13. 03. 2019 13:08:36 | | | |
Čakalna meja zaklepa je presegla; Poskus ponovnega zagona transakcije pomeni časovno omejitev čakanja na zaklepanje. To je posledica trenutne transakcije, ki čakajo, da druge transakcije sprostijo zaklepni vir.



Rešitev:

Izvedite naslednji ukaz v poizvedbi mysql

Pravzaprav lahko uporabimo naslednje tri tabele, da ugotovimo razloge:

innodb_trx ## Vse transakcije, ki trenutno potekajo
innodb_locks ## Trenutno obstoječa zapornica
innodb_lock_waits ## Korespondenca čakanja ključavnice

Rezultati so naslednji:



Ugotovite številko niti mysql_thread_id pri nekaj drugih nitih z drugačnimi parametri

Izvedite ukaz kill + številka niti, da ga rešite.

desc information_schema.innodb_locks;

Polje
Vrsta
Null
KljučPrivzetoOpomba
lock_id
varchar(81)
NE
ID ključavnice
lock_trx_id
varchar(18)
NE
ID transakcije, ki je lastnik ključavnice
lock_mode
varchar(32)
NE
Način zaklepanja
lock_type
varchar(32)
NE
Vrsta zapornice
lock_table
Varchar (1024)
NE
Zaklenjena miza
lock_index
Varchar (1024)
DA
NULLZaklenjeni indeksi
lock_space
bigint(21) brez podpisa
DA
NULLŠtevilka zaklenjenega miznega prostora
lock_page
bigint(21) brez podpisa
DA
NULLZaklenjena številka strani
lock_rec
bigint(21) brez podpisa
DA
NULLRekordna številka zaklenjenih
lock_data
varchar(8192)
DA
NULLZaklenjeni podatki


desc information_schema.innodb_lock_waits

Polje
Vrsta
Null
KljučPrivzetoOpomba
requesting_trx_id
varchar(18)
NE
ID transakcije zaklepa zahteve
requested_lock_id
varchar(81)
NE
ID zaklepa zahteve
blocking_trx_id
varchar(18)
NE
ID transakcije, ki trenutno ima ključavnico v lasti
blocking_lock_id
varchar(81)
NE
ID ključavnice, ki trenutno ima v lasti ključavnico


desc information_schema.innodb_trx ;

Polje
Vrsta
Null
KljučPrivzetoDodatnoOpomba
trx_id
varchar(18)
NE
ID transakcije
trx_state
varchar(13)
NE
Status transakcije:
trx_started
Datetime
NE
0000-00-00 00:00:00čas začetka transakcije;
trx_requested_lock_id
varchar(81)
DA
NULLinnodb_locks.lock_id
trx_wait_started
Datetime
DA
NULLČas, ko transakcija začne čakati
trx_weight
bigint(21) brez podpisa
NE
0#
trx_mysql_thread_id
bigint(21) brez podpisa
NE
0ID transakcijske niti
trx_query
Varchar (1024)
DA
NULLSpecifični SQL stavki
trx_operation_state
varchar(64)
DA
NULLTrenutno operativno stanje transakcije
trx_tables_in_use
bigint(21) brez podpisa
NE
0Koliko tabel se uporablja v transakciji
trx_tables_locked
bigint(21) brez podpisa
NE
0Koliko ključavnic ima transakcija
trx_lock_structs
bigint(21) brez podpisa
NE
0#
trx_lock_memory_bytes
bigint(21) brez podpisa
NE
0Velikost transakcijsko zaklenjenega pomnilnika (B)
trx_rows_locked
bigint(21) brez podpisa
NE
0Število vrstic, zaklenjenih s transakcijo
trx_rows_modified
bigint(21) brez podpisa
NE
0Število vrstic, za katere je bila transakcija spremenjena
trx_concurrency_tickets
bigint(21) brez podpisa
NE
0Število transakcij in računov
trx_isolation_level
varchar(16)
NE
Raven izolacije transakcij
trx_unique_checks
int(1)
NE
0Ali je to edinstvena prevera
trx_foreign_key_checks
int(1)
NE
0Ali preverjanje tujih ključev
trx_last_foreign_key_error
varchar(256)
DA
NULLNapaka tujega ključa na koncu
trx_adaptive_hash_latched
int(1)
NE
0#
trx_adaptive_hash_timeout
bigint(21) brez podpisa
NE
0#




Prejšnji:MySQL delete data delete not in izvaja zelo počasne optimizacije
Naslednji:javaEE video gradivo oktober 2018
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com