NEOVISION ARTIKEL
Wie Sie den Strict-Modus von MySQL deaktivieren können
SERVER, IT, DATENBANKEN / MAI 2020 / 4 MINUTEN LESEN
Dies ist standardmässig aktiviert, aber Sie können es auf eine von verschiedenen Arten deaktivieren.
Zuerst überprüfen Sie, mit welchem(n) Modus(en) MYSQL läuft:
$ mysql -u root -p -e „SHOW VARIABLES LIKE ’sql_mode‘;“
Sie müssen root durch einen beliebigen Benutzernamen mit Superuser-Rechten auf Ihrem Server ersetzen (aber normalerweise ist es nur root). Sie werden auch nach dem Passwort gefragt.
Dies wird etwas Ähnliches (aber viel hübscher) ausgeben:
sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1. Deaktivieren des Strikt-Modus über SQL:
Sie können den Strict-Modus auf Ihrem MySQL-Server deaktivieren, indem Sie die folgende Befehlszeile ausführen:
$ mysql -u root -p -e „SET GLOBAL sql_mode = ‚NO_ENGINE_SUBSTITUTION‘;“
Dann können Sie überprüfen, ob der Modus eingestellt ist, indem Sie Folgendes ausführen:
$ mysql -u root -p -e „SELECT @@GLOBAL.sql_mode;“
2. Deaktivieren Sie den Strickt-Modus über my.cnf:
Deaktivieren Sie ihn, indem Sie Ihren eigenen SQL_MODE in der Datei my.cnf setzen und dann MySQL neu starten.
Die my.cnf-Datei kann an einem von wenigen Orten gefunden werden (je nachdem, welche Distribution Sie benutzen). Die üblichsten Speicherorte sind /etc/my.cnf und /etc/mysql/my.cnf.
Suchen Sie innerhalb der my.cnf nach einer Überschrift wie [mysqld] und suchen Sie dann nach dem Wert von sql_mode. Das könnte so aussehen (der tatsächliche Wert von sql_mode kann variieren):
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Sie können den Wert von sql_mode in NO_ENGINE_SUBSTITUTION ändern, um den Strikt-Modus vollständig zu deaktivieren, aber Sie sollten vor der Deaktivierung jeden Modus überprüfen, der konfiguriert ist.
Wenn sql_mode nicht gesetzt ist, können Sie ihn unter der Überschrift [mysqld] hinzufügen, dann die Datei speichern und MySQL neu starten.
/etc/init.d/mysql restart