Concluí a migração de 5.1 para 5.6 e (com as mesmas consultas de antes) o mysql reclama imediatamente sobre:
Erro geral: 1651 O cache de consulta está desabilitado; reinicie o servidor com query_cache_type=1 para ativá-lo
Eu não quero o cache de consulta habilitado (que é um aplicativo com muita escrita), e meu arquivo my.ini se parece com isso:
# The MySQL server
[mysqld]
# ... other parameters...
query_cache_type = 0
query_cache_size = 0
Além disso, ao conectar, meu wrapper de conexão php sempre é executado
SET SESSION query_cache_type = OFF
O que eu não entendo é
- Por que os parâmetros aparentemente não funcionam
- Por que o mysql ainda tem que reclamar sobre um parâmetro que está desabilitado quando é uma escolha do usuário fazê-lo.
Iluminação necessária - Obrigado!
Eu acho que o
SET SESSION query_cache_type = OFF
está causando isso. Na página Query Cache Configuration , ele afirma:E como você está iniciando o servidor com o cache desativado, não há necessidade de usá-lo de
SET
qualquer maneira.Quanto ao motivo pelo qual gera um erro (tanto com
= OFF
e= 0
), pode ter a ver com esta nota na página Variáveis do sistema do servidor:Minha interpretação é que a variável tem escopo Global e de Sessão, mas apenas se não for desativada na inicialização.