Base de Conhecimento

Como Desativar Mode Strict em MySQL ou Mariadb imprimir

  • 0

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:


Esta resposta lhe foi útil?
« Retornar