Come disattivare MySQL Strict Mode

Alcuni Contenuto Sistemi di gestione come Typo, Contao, Contenido o altri sistemi hanno problemi di MySQL 5.1 disponibile Modalità Rigorosa. Questa è l'impostazione predefinita dalla versione 5.7.

Affinché si possano utilizzare anche questi sistemi CMS c'è ancora la possibilità di disattivare la modalità strict sul lato server. Naturalmente, questo è solo condizionalmente raccomandato.

Cosa fa la modalità Strict?

La stretta modalità di MySQL/MariaDB controlla come vengono gestiti i valori non validi o mancanti nelle query di modifica dei dati, incluse le dichiarazioni INSERT, UPDATE e CREATE.

Non valido o mancante Dati portano ad avvertimenti o errori quando la query SQL viene eseguita. Se la modalità Scrict è disattivata, le interrogazioni non valide o i valori mancanti vengono regolati e viene emesso un semplice avviso. Questo può portare a risultati inaspettati.

Un esempio sarebbe un limite di carattere. Se la modalità Strict è disattivata, i caratteri in eccesso saranno tagliati per adattarli.

Perché questo accade solo con alcuni sistemi CMS?

Si può solo speculare. Probabilmente il codice è talmente esteso che nessuno riesce a capirlo. Su un sistema di gestione dei contenuti lavorano molte persone, a volte portano funzioni individuali che poi non vengono più guardate per anni. Finché non si verificano problemi gravi non è poi così male.

Con un sistema come il whmcs, anch'esso interessato, la situazione è molto diversa. Se i dati importanti vengono troncati, si verificano assegnazioni errate. Questo può essere problematico nel caso di un accordo.

Dove possono essere applicate queste istruzioni?

Le istruzioni si riferiscono a sistemi Linux con MySQL 5.6/5.7 o MariaDB 10.1 e più in alto dove è attiva la Modalità Rigorosa.

Per apportare le modifiche è necessario l'accesso alle radici. Le nostre istruzioni si riferiscono sempre a Centos Linux. Con altre distribuzioni, i file di configurazione possono trovarsi in altre directory.

Passo 1: Creare backup

Quando si modificano i file, si dovrebbe sempre fare un backup. È troppo facile cancellare qualcosa inavvertitamente.

cp -a /etc/my.cnf{,.strict.bak}

Il comando crea un file my.cnf.strict.bak dal my.cnf.nella stessa directory.

Passo 2: Disattivare la modalità MySQL Strict

Il file normalmente non contiene sql_mode=... quindi la seguente riga dovrebbe essere aggiunta alla sezione [mysqld] :

sql_mode=""

Passo 3: Riavviare il servizio MySQL

Dopo aver modificato il file, il servizio deve essere riavviato per applicare le modifiche.

systemctl riavvio mariadb

Dopo il riavvio del servizio è possibile controllare l'impostazione eseguendo il seguente comando. Qui come esempio con la password su un Server Plesk. In alternativa con root e la password.

mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "SELECT @@sql_mode;".

Dovrebbe poi apparire il seguente ritorno:

+————+

| @@@sql_mode |

+————+

| |

+————+

Si prega di dividere il contributo
Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su pinterest
Condividi su whatsapp
Condividi su telegram
Ultimi messaggi

Video consigliati dal nostro canale Youtube