https://dev.mysql.com /doc/refman/5.7/en/innodb-autocommit-commit-rollback.html diz:
Então, quando você define autocommit=0 em uma sessão (chame de sessão 1), isso implicitamente abre uma transação e a deixa aberta indefinidamente.
O nível de isolamento de transação padrão é REPEATABLE-READ. Portanto, sua sessão não verá uma exibição atualizada das alterações confirmadas do trabalho de outras sessões até que a sessão 1 seja confirmada ou revertida explicitamente.
Seu LOCK TABLES em outra sessão 2 faz causa uma confirmação implícita, mas a sessão 1 não vê o resultado porque ainda só consegue ver uma exibição isolada dos dados devido ao seu próprio instantâneo de transação.