https://dev.mysql.com /doc/refman/5.7/en/innodb-autocommit-commit-rollback.html dice:
Entonces, cuando establece autocommit=0 en una sesión (llámela sesión 1), esto implícitamente abre una transacción y la deja abierta indefinidamente.
El nivel de aislamiento de transacción predeterminado es REPEATABLE-READ. Por lo tanto, su sesión no verá una vista actualizada de los cambios confirmados del trabajo de otras sesiones hasta que la sesión 1 se confirme o revierta explícitamente.
Tus LOCK TABLES en otra sesión 2 sí causa una confirmación implícita, pero la sesión 1 no ve el resultado porque solo puede ver una vista aislada de los datos debido a su propia instantánea de transacción.