Eu uso este comando para "bloquear" meu banco de dados, liberar logs, tirar um instantâneo do LVM e liberá-lo.
Testando o recovery + binlogs , parece que não está funcionando.
(Eu descobri isso quando durante a recuperação, aplicando os binlogs dá erro de chave duplicada onde suponho que não deveria existir naquele momento)
O comportamento que recebo é que os arquivos de dados ainda estão sendo gravados após a descarga. Então, o que há de errado aqui? Eu perdi alguma coisa?
# echo "FLUSH TABLES WITH READ LOCK ; flush logs" | mysql -vvv
--------------
FLUSH TABLES WITH READ LOCK
--------------
Query OK, 0 rows affected (0.00 sec)
# mysql --version
mysql Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using EditLine wrapper
Não tenho certeza, mas depois de liberar com bloqueio de leitura, se eu conectar a qualquer banco de dados e tentar criar uma tabela, ela deve bloquear e aguardar até o UNLOCK, não é?
Isso não acontece, cria a tabela com sucesso.
EDITAR
Encontrei uma documentação onde digo para executar SET GLOBAL read_only = ON
após o flush e SET GLOBAL read_only = OFF
.
Todas as outras sugestões, blogs, tutoriais, manuais não mencionam que isso é necessário.
Mais dúvidas!!!
EDITAR 2
Inserções e atualizações ainda funcionando também...