Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 17789|Atbildi: 0

[Avots] Pārsniegts bloķēšanas gaidīšanas taimauts; Mēģiniet restartēt transakciju

[Kopēt saiti]
Publicēts 13.03.2019 13:08:36 | | | |
Pārsniegts bloķēšanas gaidīšanas taimauts; Mēģinājums restartēt transakciju ir bloķēšanas gaidīšanas taimauts. To izraisa pašreizējā transakcija, kas gaida, kamēr citas transakcijas atbrīvos bloķēšanas resursu.



Risinājums:

Izpildiet šādu komandu mysql vaicājumā

Faktiski, lai noskaidrotu iemeslus, mēs varam izmantot šādas trīs tabulas:

innodb_trx ## Visas pašlaik notiekošās transakcijas
innodb_locks ## Pašlaik notiekošā bloķēšana
innodb_lock_waits ## Slēdzenes gaidīšanas sarakste

Rezultāti ir šādi:



Uzziniet pavediena numuru mysql_thread_id ar dažiem citiem pavedieniem ar dažādiem parametriem

Izpildiet komandu kill + pavediena numurs, lai to atrisinātu.

desc information_schema.innodb_locks;

Lauks
Veids
Nulle
AtslēgaNoklusējumaPiezīme
lock_id
Varčars(81)
Bloķēšanas ID
lock_trx_id
varčars(18)
Transakcijas ID, kuram pieder bloķēšana
lock_mode
varčars(32)
Bloķēšanas režīms
lock_type
varčars(32)
Slēdzenes tips
lock_table
Varčars(1024)
Bloķēts galds
lock_index
Varčars(1024)
NULLBloķēti indeksi
lock_space
Bigint(21) bez paraksta
NULLBloķētās galda vietas numurs
lock_page
Bigint(21) bez paraksta
NULLBloķēts lappuses numurs
lock_rec
Bigint(21) bez paraksta
NULLBloķētā ieraksta numurs
lock_data
Varčars(8192)
NULLBloķēti dati


desc information_schema.innodb_lock_waits

Lauks
Veids
Nulle
AtslēgaNoklusējumaPiezīme
requesting_trx_id
varčars(18)
Pieprasījuma bloķēšanas transakcijas ID
requested_lock_id
Varčars(81)
Pieprasījuma bloķēšanas bloķēšanas ID
blocking_trx_id
varčars(18)
Transakcijas ID, kuram pašlaik pieder slēdzene
blocking_lock_id
Varčars(81)
Slēdzenes ID, kurai pašlaik pieder slēdzene


desc information_schema.innodb_trx ;

Lauks
Veids
Nulle
AtslēgaNoklusējumaPapildusPiezīme
trx_id
varčars(18)
Darījuma ID
trx_state
varčars(13)
Darījuma statuss:
trx_started
Datums un laiks
0000-00-00 00:00:00darījuma sākuma laiks;
trx_requested_lock_id
Varčars(81)
NULLinnodb_locks.lock_id
trx_wait_started
Datums un laiks
NULLLaiks, kad darījums sāk gaidīt
trx_weight
Bigint(21) bez paraksta
0#
trx_mysql_thread_id
Bigint(21) bez paraksta
0Transakcijas pavediena ID
trx_query
Varčars(1024)
NULLSpecifiski SQL paziņojumi
trx_operation_state
Varčars(64)
NULLDarījuma pašreizējais darbības statuss
trx_tables_in_use
Bigint(21) bez paraksta
0Cik tabulu tiek izmantotas transakcijā
trx_tables_locked
Bigint(21) bez paraksta
0Cik bloķēšanas ir darījumam
trx_lock_structs
Bigint(21) bez paraksta
0#
trx_lock_memory_bytes
Bigint(21) bez paraksta
0Transakcijas bloķētās atmiņas lielums (B)
trx_rows_locked
Bigint(21) bez paraksta
0Transakcijas bloķēto rindu skaits
trx_rows_modified
Bigint(21) bez paraksta
0Rindu skaits, kurām transakcija tika mainīta
trx_concurrency_tickets
Bigint(21) bez paraksta
0Darījumu un rēķinu skaits
trx_isolation_level
Varčars(16)
Transakciju izolācijas līmenis
trx_unique_checks
int [1]
0Vai tā ir unikāla pārbaude
trx_foreign_key_checks
int [1]
0Vai ārējās atslēgas pārbaudes
trx_last_foreign_key_error
Varčars(256)
NULLĀrējās atslēgas kļūda beigās
trx_adaptive_hash_latched
int [1]
0#
trx_adaptive_hash_timeout
Bigint(21) bez paraksta
0#




Iepriekšējo:MySQL dzēšanas datu dzēšana nav veikta ļoti lēna optimizācija
Nākamo:javaEE 2018. gada oktobra video materiāls
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com