sql >> Base de Datos >  >> RDS >> Mysql

Reversión de MySQL en transacción con conexión perdida/desconectada

Cuando está desconectando físicamente a un cliente, no está enviando una desconexión normal (lo que habría causado una reversión) y el protocolo MySQL no es muy hablador, por lo que el servidor nunca sabe que el cliente no está allí. Creo que esto es una falla en el protocolo cuando se compara con otros sistemas de bases de datos donde el cliente y el servidor hablan internamente mucho más.

De todas formas. Hay dos variables que podrías cambiar. Básicamente hacen lo mismo pero para diferentes clientes.

El primero es wait_timeout y es utilizado por clientes de aplicaciones como java o php.

El otro es interactive_timeout y es utilizado por el cliente mysql (como en sus pruebas)

En ambos casos, el servidor elimina la conexión después de unos segundos y, al hacerlo, revierte todas las transacciones y libera todos los bloqueos.