Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 17789|Odpoveď: 0

[Zdroj] Čas čakania na zámok prekročený; Skúste reštartovať transakciu

[Kopírovať odkaz]
Zverejnené 13. 3. 2019 13:08:36 | | | |
Čas čakania na zámok prekročený; Pokus o reštartovanie transakcie je časový limit čakania na zámok. Je to spôsobené tým, že aktuálna transakcia čaká, kým ostatné transakcie uvoľnia zdroj zámku.



Obchádzka:

Vykonajte nasledujúci príkaz v dotaze mysql

V skutočnosti môžeme použiť nasledujúce tri tabuľky na zistenie dôvodov:

innodb_trx ## Všetky transakcie, ktoré práve prebiehajú
innodb_locks ## Aktuálne prítomný zámok
innodb_lock_waits ## Korešpondencia čakania zámku

Výsledky sú nasledovné:



Zistite číslo vlákien mysql_thread_id s niekoľkými ďalšími vláknami s inými parametrami

Vykonajte príkaz kill + číslo vlákna na vyriešenie problému.

desc information_schema.innodb_locks;

Pole
Typ
Null
KľúčPredvolenýPoznámka
lock_id
varchar(81)
NIE
Identifikácia zámku
lock_trx_id
Varchar(18)
NIE
ID transakcie, ktoré vlastní zámok
lock_mode
varchar(32)
NIE
Režim zámku
lock_type
varchar(32)
NIE
Typ zámku
lock_table
Varchar (1024)
NIE
Zamknutý stôl
lock_index
Varchar (1024)
ÁNO
NULLUzamknuté indexy
lock_space
bigint(21) nepodpísané
ÁNO
NULLUzamknuté číslo stolového priestoru
lock_page
bigint(21) nepodpísané
ÁNO
NULLUzamknuté číslo strany
lock_rec
bigint(21) nepodpísané
ÁNO
NULLRekordné číslo zámku
lock_data
Varchar(8192)
ÁNO
NULLUzamknuté dáta


desc information_schema.innodb_lock_waits

Pole
Typ
Null
KľúčPredvolenýPoznámka
requesting_trx_id
Varchar(18)
NIE
ID transakcie zámoku požiadavky
requested_lock_id
varchar(81)
NIE
ID zámku požiadavky
blocking_trx_id
Varchar(18)
NIE
ID transakcie, ktoré momentálne vlastní zámok
blocking_lock_id
varchar(81)
NIE
ID zámku zámku, ktorý ho momentálne vlastní


desc information_schema.innodb_trx ;

Pole
Typ
Null
KľúčPredvolenýExtraPoznámka
trx_id
Varchar(18)
NIE
ID transakcie
trx_state
varchar(13)
NIE
Stav transakcie:
trx_started
Datetime
NIE
0000-00-00 00:00:00čas začiatku transakcie;
trx_requested_lock_id
varchar(81)
ÁNO
NULLinnodb_locks.lock_id
trx_wait_started
Datetime
ÁNO
NULLČas, kedy transakcia začína čakať
trx_weight
bigint(21) nepodpísané
NIE
0#
trx_mysql_thread_id
bigint(21) nepodpísané
NIE
0ID transakčného vlákna
trx_query
Varchar (1024)
ÁNO
NULLŠpecifické SQL príkazy
trx_operation_state
varchar(64)
ÁNO
NULLAktuálny prevádzkový stav transakcie
trx_tables_in_use
bigint(21) nepodpísané
NIE
0Koľko tabuliek sa používa v transakcii
trx_tables_locked
bigint(21) nepodpísané
NIE
0Koľko zámkov má transakcia
trx_lock_structs
bigint(21) nepodpísané
NIE
0#
trx_lock_memory_bytes
bigint(21) nepodpísané
NIE
0Veľkosť pamäte uzamknutá transakciou (B)
trx_rows_locked
bigint(21) nepodpísané
NIE
0Počet riadkov uzamknutých transakciou
trx_rows_modified
bigint(21) nepodpísané
NIE
0Počet riadkov, pre ktoré bola transakcia zmenená
trx_concurrency_tickets
bigint(21) nepodpísané
NIE
0Počet transakcií a faktúr
trx_isolation_level
Varchar(16)
NIE
Úroveň izolácie transakcie
trx_unique_checks
int(1)
NIE
0Či je to unikátna kontrola
trx_foreign_key_checks
int(1)
NIE
0Či kontroly cudzieho kľúča
trx_last_foreign_key_error
Varchar(256)
ÁNO
NULLChyba cudzieho kľúča na konci
trx_adaptive_hash_latched
int(1)
NIE
0#
trx_adaptive_hash_timeout
bigint(21) nepodpísané
NIE
0#




Predchádzajúci:MySQL delete data delete not in vykonáva veľmi pomalé optimalizácie
Budúci:javaEE video materiál október 2018
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com