Então tenho um site hospedado no Plano de Hospedagem VPS 2 da Hostinger, e ele usa MySQL para banco de dados, sendo o SO da minha Máquina Virtual o Ubuntu 18.04.
Eu tenho que manter o MySQL strict mode
desabilitado globalmente o tempo todo para que algumas partes do site funcionem. Para contextualizar, estou gerenciando apenas o servidor no momento, portanto não posso consertar as partes deste site que exigem a desativação do strict mode
. Essas correções estão por conta dos desenvolvedores e eles eventualmente irão lidar com elas em algum momento.
Agora, o problema que estou enfrentando é que quando eu desativo strict mode
, ele é ativado automaticamente após várias horas (ou um dia). Isso se deve às reinicializações agendadas do servidor que os servidores VPS da Hostinger parecem ter. Sempre que o servidor é reiniciado, o MySQL strict mode
é reativado.
Como posso fazer isso para que strict mode
fique permanentemente desativado até que eu mesmo o ligue novamente? Obviamente não quero ligá-lo a cada poucas horas... :)
Editar: atualmente eu costumava set global sql_mode='';
desabilitar o MySQL strict mode
.
Responder1
Se você desabilitar o modo estrito do mysql usando o comando abaixo, ele será revertido após a reinicialização do servidor.
definir sql_mode global='';
Para ativá-lo/desativá-lo permanentemente, você deve editar o valor no arquivo conf do mysql.
/etc/mysql/my.cnf ou/etc/my.cnfcom base no seu sistema operacional.
Encontre a seguinte linha:
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Substitua-a pela linha abaixo: Se a linha não for encontrada, insira a linha na seção [mysqld] (se não houver nenhuma seção [mysqld], por favor, crie-a).
[mysqld]
sql_mode= ""
Reinicie o serviço MySQL para que a alteração tenha efeito.