O que é?
O mode strict do MySQL e do MariaDB controla como os valores inválidos ou ausentes nas consultas de alteração de dados são manipulados; isso inclui instruções INSERT, UPDATE e CREATE TABLE. Com o modo restrito ativado, que é o estado padrão, dados inválidos ou ausentes podem causar avisos ou erros ao tentar processar a consulta.
Quando o mode strict é desativado, a mesma consulta teria seus valores inválidos ou ausentes ajustados e produziria um aviso simples. Este pode parecer o resultado preferido, no entanto, com o mode strict desativado, certas ações podem causar resultados inesperados; por exemplo, quando o valor que está sendo inserido excede o limite máximo de caracteres, ele será truncado para se ajustar ao limite.
Existem várias razões pelas quais o mode strict pode precisar ser desativado, no entanto, o mais comum é quando um servidor está executando o WHMCS - este é um requisito dessa ferramenta.
Como desativar o mode strict?
PASSO 0 - Verifique se o mode strict está ativado:
# mysql -e "SELECT @@sql_mode;"
Se estiver ativo, retornará algo parecido com:
[root@node2 ~]# mysql -e "SELECT @@sql_mode;" +-------------------------------------------------------------------------------------------+ | @@sql_mode | +-------------------------------------------------------------------------------------------+ | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------+ [root@node2 ~]#
PASSO 1 - Backup
Faça backup das configurações de seu /etc/my.cnf.
cp -a /etc/my.cnf{,.strict.bak}
PASSO 2 - Desabilite o Mode Strict
Edite o arquivo /etc/my.cnf.
Localize a diretiva "sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" e substitua por:
sql_mode=""
PASSO 3 - Reinicie seu servidor mysql
# systemctl restart mysql
PASSO 4 - Consulte o status do Mode Strict
[root@node2 ~]# mysql -e "SELECT @@sql_mode;" +------------+ | @@sql_mode | +------------+ | | +------------+ [root@node ~]#
Referências: