Effacer l'impasse des transactions?
À l'aide de "show moteur innodb status" je vois que wordpress a deux blocages. Je voudrais les supprimer, mais je ne vois pas un processus actif pour l'une de ces maladies cardio-métaboliques (c'est à dire quelque chose à "tuer" et nous espérons que la force d'une restauration).
Je peux voir le thread id, id de requête, etc, mais rien de ce que je peux utiliser pour arrêter de travaux.
Des Suggestions sur la façon de résoudre ce problème?
EDIT: Voici le (les?) partie de l'état:
------------------------
LATEST DETECTED DEADLOCK
------------------------
110327 10:54:14
*** (1) TRANSACTION:
TRANSACTION 9FBA099E, ACTIVE 0 sec, process no 14207, OS thread id 1228433728 starting index read
mysql tables in use 1, locked 1
LOCK WAIT 2 lock struct(s), heap size 376, 1 row lock(s)
MySQL thread id 12505112, query id 909492800 juno....edu 129....54 wordpress_user updating
DELETE FROM wp_options WHERE option_name = ''_site_transient_timeout_theme_roots''
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 4951009 page no 4 n bits 384 index `option_name` of table `wordpress_work`.`wp_options` trx id 9FBA099E lock_mode X waiting
Record lock, heap no 309 PHYSICAL RECORD: n_fields 2; compact format; info bits 32
0: len 30; hex 5f736974655f7472616e7369656e745f74696d656f75745f7468656d655f; asc _site_transient_timeout_theme_; (total 35 bytes);
1: len 8; hex 0000000000002b6d; asc +m;;
*** (2) TRANSACTION:
TRANSACTION 9FBA0995, ACTIVE 0 sec, process no 14207, OS thread id 1230031168 starting index read
mysql tables in use 1, locked 1
3 lock struct(s), heap size 1248, 2 row lock(s)
MySQL thread id 12505095, query id 909492789 juno....edu 129.....54 wordpress_user updating
DELETE FROM wp_options WHERE option_name = ''_site_transient_timeout_theme_roots''
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 4951009 page no 4 n bits 384 index `option_name` of table `wordpress_work`.`wp_options` trx id 9FBA0995 lock_mode X locks rec but not gap
Record lock, heap no 309 PHYSICAL RECORD: n_fields 2; compact format; info bits 32
0: len 30; hex 5f736974655f7472616e7369656e745f74696d656f75745f7468656d655f; asc _site_transient_timeout_theme_; (total 35 bytes);
1: len 8; hex 0000000000002b6d; asc +m;;
*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 4951009 page no 4 n bits 384 index `option_name` of table `wordpress_work`.`wp_options` trx id 9FBA0995 lock_mode X waiting
Record lock, heap no 309 PHYSICAL RECORD: n_fields 2; compact format; info bits 32
0: len 30; hex 5f736974655f7472616e7369656e745f74696d656f75745f7468656d655f; asc _site_transient_timeout_theme_; (total 35 bytes);
1: len 8; hex 0000000000002b6d; asc +m;;
*** WE ROLL BACK TRANSACTION (1)
source d'informationauteur ethrbunny
Vous devez vous connecter pour publier un commentaire.
Donné quelques 'innodb status' sortie comme ceci:
vous voulez le faire
à tuer l'un des deux requêtes qui sont dans l'impasse. Qui va tuer la requête, mais laisser la connexion ouverte. si vous voulez tuer la connexion, alors vous feriez
KILL 197
.Je sais que c'est vieux, mais généralement, quand vous voyez quelque chose comme ça c'est à cause d'un blocage s'est produit et l'application qui a déclenché le blocage a depuis longtemps déplacé sur-la victime de l'impasse suis mis en garde et a échoué, ou connecté à une erreur ou à retenté, et s'est déplacé sur d'autres productives. Vous n'avez généralement pas besoin de faire autre chose que de chercher la cause de l'impasse de la situation et d'essayer d'éviter à l'avenir les blocages, si vous êtes à l'écriture du logiciel. Si vous êtes juste en utilisant le logiciel (par exemple WordPress si vous ne travaillez pas à WordPress), vous pourriez rapport de l'impasse comme un possible bug.
Pensé que je pourrais fournir plus d'information qui aurait permis de résoudre un problème similaire. Nous avons été voir Java hibernate des problèmes à l'origine coincé serrures. Nous avons trouvé les verrous par le peignage à travers la sortie de:
Ce crache une merde-tonne d'information. La section pertinente est dans le
TRANSACTIONS
section. À votre sortie, le problème semble être:Pour nous, c'était la
# lock struct(s)
qui ont indiqué un verrou bloqué. Pour le tuer, vous devrez exécuter à l'aide de la "id de thread #", a précisé, dans ce cas:Cette travaillé sur AWS MySQL RDS ainsi que MySQL local.
Dans nos OPÉRATIONS, nous voyons aussi la suivante:
Nous recherchons pour le
2 lock struct(s)
et laACTIVE 21 sec
messages.