sql >> Database >  >> RDS >> Mysql

Wacht-time-out voor vergrendeling overschreden; probeer de transactie opnieuw te starten, ook al gebruik ik geen transactie

HOE GEDWONGEN ONTGRENDELEN voor vergrendelde tafels in MySQL:

Het verbreken van dergelijke sloten kan atomiciteit veroorzaken in de database om niet te worden afgedwongen op de sql-instructies die de vergrendeling hebben veroorzaakt.

Dit is hackachtig en de juiste oplossing is om je applicatie te repareren die de vergrendelingen heeft veroorzaakt. Als er echter dollars op het spel staan, zal een snelle schop de zaken weer in beweging krijgen.

1) Voer MySQL in

mysql -u your_user -p

2) Laten we eens kijken naar de lijst met vergrendelde tafels

mysql> show open tables where in_use>0;

3) Laten we de lijst met huidige processen eens bekijken, een daarvan is het vergrendelen van uw tafel(s)

mysql> show processlist;

4) Dood een van deze processen

mysql> kill <put_process_id_here>;


  1. Hoe schrijf je een opgeslagen procedure met behulp van phpmyadmin en hoe gebruik je deze via php?

  2. Hoe de meest recente versie van Sqlite aar te installeren bij gebruik van Room On Android

  3. Een Unix-tijdstempel converteren naar een datum/tijd-waarde in PostgreSQL

  4. Ondersteunt SQLDeveloper het uitvoeren van scripts?