Mysql
 sql >> Database >  >> RDS >> Mysql

Come risolvere MySQL innodb In attesa del blocco dei metadati della tabella su TRUNCATE TABLE?

Il problema qui sembra abbastanza semplice.

---TRANSACTION 7490, ACTIVE 3047 sec
MySQL thread id 189, OS thread handle 0x7f03be9fb700, query id 3840 10.0.2.1 root cleaning up
Trx read view will not see trx with id >= 7491, sees < 7491
---

Il thread 189 (una connessione client) è inattivo e lo è da un po', ma ha lasciato una transazione in esecuzione. Questo è probabilmente un bug nel codice che utilizza il database, poiché non ha senso lasciare una transazione in esecuzione per quasi un'ora.

mysql> KILL 189;

Ciò dovrebbe rilasciare il blocco dei metadati ... ma devi scoprire perché questo sta accadendo. Bad Things™ accadrà se un'applicazione non si comporta meglio di così.

Inoltre... la tua applicazione non dovrebbe connettersi come root . Non è correlato al problema, ma non va bene, se è di questo che si tratta.