Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17789|Svar: 0

[Kilde] Låseventetiden overskredet; Prøv at genstarte transaktionen

[Kopier link]
Opslået på 13/03/2019 13.08.36 | | | |
Låseventetiden overskredet; Forsøg at genstarte transaktionen er låsens ventetidsudløb. Dette skyldes den nuværende transaktion, der venter på, at andre transaktioner frigiver låseressourcen.



Løsning:

Udfør følgende kommando i en MySQL-forespørgsel

Faktisk kan vi bruge følgende tre tabeller til at finde årsagerne:

innodb_trx ## Alle transaktioner, der aktuelt kører
innodb_locks ## Den nuværende lås
innodb_lock_waits ## Korrespondance om låsen venter

Resultaterne er som følger:



Find trådnummeret mysql_thread_id med et par andre tråde med forskellige parametre

Udfør kommandoen kill + trådnummer for at løse det.

beskrivelse information_schema.innodb_locks;

Bane
Type
Null
NøgleStandardBemærkning
lock_id
Varchar(81)
NEJ
Låse-ID
lock_trx_id
Varchar(18)
NEJ
Transaktions-ID'et, der ejer låsen
lock_mode
Varchar(32)
NEJ
Låsetilstand
lock_type
Varchar(32)
NEJ
Låsetype
lock_table
Varchar(1024)
NEJ
Låst bord
lock_index
Varchar(1024)
JA
NULLLåste indekser
lock_space
Bihint(21) usignet
JA
NULLDet låste tabelpladsnummer
lock_page
Bihint(21) usignet
JA
NULLLåst sidetal
lock_rec
Bihint(21) usignet
JA
NULLRekordtallet for de låste
lock_data
Varchar(8192)
JA
NULLLåste data


DESC information_schema.innodb_lock_waits

Bane
Type
Null
NøgleStandardBemærkning
requesting_trx_id
Varchar(18)
NEJ
Transaktions-ID'et for anmodningslåsen
requested_lock_id
Varchar(81)
NEJ
Låse-ID'et for anmodningslåsen
blocking_trx_id
Varchar(18)
NEJ
Transaktions-ID'et, der i øjeblikket ejer låsen
blocking_lock_id
Varchar(81)
NEJ
Låse-ID'et for den lås, der i øjeblikket ejer låsen


DESC information_schema.innodb_trx ;

Bane
Type
Null
NøgleStandardEkstraBemærkning
trx_id
Varchar(18)
NEJ
Transaktions-ID
trx_state
Varchar(13)
NEJ
Transaktionsstatus:
trx_started
Datotidspunkt
NEJ
0000-00-00 00:00:00tidspunktet for transaktionens start;
trx_requested_lock_id
Varchar(81)
JA
NULLinnodb_locks.lock_id
trx_wait_started
Datotidspunkt
JA
NULLTidspunktet, hvor transaktionen begynder at vente
trx_weight
Bihint(21) usignet
NEJ
0#
trx_mysql_thread_id
Bihint(21) usignet
NEJ
0Transaktionstråd-ID
trx_query
Varchar(1024)
JA
NULLSpecifikke SQL-sætninger
trx_operation_state
Varchar(64)
JA
NULLDen nuværende driftsstatus for transaktionen
trx_tables_in_use
Bihint(21) usignet
NEJ
0Hvor mange tabeller bruges i en transaktion
trx_tables_locked
Bihint(21) usignet
NEJ
0Hvor mange låse en transaktion har
trx_lock_structs
Bihint(21) usignet
NEJ
0#
trx_lock_memory_bytes
Bihint(21) usignet
NEJ
0Transaktionslåst hukommelsesstørrelse (B)
trx_rows_locked
Bihint(21) usignet
NEJ
0Antallet af rækker låst af transaktionen
trx_rows_modified
Bihint(21) usignet
NEJ
0Antallet af linjer, hvor transaktionen blev ændret
trx_concurrency_tickets
Bihint(21) usignet
NEJ
0Antallet af transaktioner og fakturaer
trx_isolation_level
Varchar(16)
NEJ
Transaktionsisolationsniveau
trx_unique_checks
int(1)
NEJ
0Om det er unik kontrol
trx_foreign_key_checks
int(1)
NEJ
0Om udenlandske nøglekontroller
trx_last_foreign_key_error
Varchar(256)
JA
NULLFremmednøglefejl til sidst
trx_adaptive_hash_latched
int(1)
NEJ
0#
trx_adaptive_hash_timeout
Bihint(21) usignet
NEJ
0#




Tidligere:MySQL delete data delete not in udfører meget langsomme optimeringer
Næste:javaEE oktober 2018 videomateriale
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com