So deaktivieren Sie den „Strikten Modus“ von MySQL 5 auf einem Ubuntu 18.04 VPS oder einem dedizierten Server

Der strikte Modus ist dafür verantwortlich, zu steuern, wie mit fehlenden Werten umgegangen wird, wenn neue Datensätze in einer MySQL-Datenbank erstellt oder aktualisiert werden.

In MySQL ist der strikte Modus standardmäßig aktiviert und dieses Verhalten führt zu quälenden Warnungen, wenn ein Benutzer versucht, Datensätze zu speichern, die in einigen Feldern leere Werte enthalten. Manchmal werden die Datensätze überhaupt nicht gespeichert/aktualisiert, was den normalen Betrieb einer Website oder Webanwendung beeinträchtigen kann.

Das Deaktivieren des strengen MySQL-Modus ermöglicht die Ausführung von Abfragen mit fehlenden oder ungültigen Werten und ist in den meisten Fällen das bevorzugte Verhalten der meisten Datenbankadministratoren. Manchmal kann das Deaktivieren des strengen MySQL-Modus zu unerwartetem Verhalten führen, z. B. zur Verkettung von Werten, die den im Verhalten definierten Längenwert überschreiten

Wenn Sie jedoch verschiedene Softwareanwendungen ausführen, ist die Deaktivierung des strengen MySQL-Modus erforderlich. Andernfalls löst jeder Einfügebefehl einen Fehler wie „Feld ‚<Feldname>‘ hat keinen Standardwert“ aus.“

In dieser Anleitung behandeln wir die Schritte zum Deaktivieren des Standard-MySQL

‘STRICT_TRANS_TABLES’

‘STRICT_TRANS_TABLES’Verhalten.

Voraussetzungen

  • Ein Ubuntu 18.04 VPS-Server
  • MySQL-Community-Server
  • Ein Nicht-Root-Benutzer mit Sudo-Berechtigungen

Besonderer Hinweis: Konsultieren Sie  die Seite „Best Linux Hosting Services“  oder „Best VPS Hosting“ von Hostadvice , um die besten Webhosting- Anbieter in diesen Kategorien zu finden.

Schritt 1: Überprüfen Sie, ob der strikte Modus aktiviert ist

Wir müssen zunächst feststellen, ob der strikte Modus auf dem MySQL-Server aktiviert ist. Um dies zu überprüfen, geben Sie den folgenden Befehl auf einem Terminalserver ein:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo mysql -u root -p
$ sudo mysql -u root -p
$ sudo mysql -u root -p

Geben Sie Ihr MySQL-Datenbank-Root-Passwort ein und drücken Sie die Eingabetaste .

Anschließend müssen Sie die folgende Abfrage an der MySQL-Eingabeaufforderung ausführen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ VARIABLEN WIE ‘sql_mode’ anzeigen ;
$ SHOW VARIABLES LIKE ‘sql_mode’;
$ SHOW VARIABLES LIKE 'sql_mode';

Auf dem Bildschirm wird eine Tabelle mit einigen durch Kommas getrennten sql_mode-Werten angezeigt, wie unten gezeigt. Wenn Sie einen Wert wie finden

„STRICT_TRANS_TABLES“

“STRICT_TRANS_TABLES”, dann ist der strenge MySQL-Modus aktiviert.

image1 40

Schritt 2: Erstellen Sie eine neue Konfigurationsdatei mit einem Nano-Editor

Erstellen Sie mit einem Nano-Editor eine neue Konfigurationsdatei im Verzeichnis /etc/mysql/conf.d/ . Die neue Konfigurationsdatei überschreibt die Standard-MySQL-Konfigurationsdatei.

Verwenden Sie den folgenden Befehl:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo nano /etc/mysql/conf. d /disable_strict_mode. cnf
$ sudo nano /etc/mysql/conf.d/disable_strict_mode.cnf
$ sudo nano /etc/mysql/conf.d/disable_strict_mode.cnf

Geben Sie dann den folgenden Text in den Texteditor ein:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[ mysqld ]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Drücken Sie STRG +X und Y , um die Änderungen zu speichern.

Schritt 3: MySQL neu starten

Wenn Sie Änderungen an einem MySQL-Konfigurationsverzeichnis vornehmen, sollten Sie den MySQL-Dienst mit dem folgenden Befehl neu starten, damit die Änderungen wirksam werden:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo service mysql neu starten
$ sudo service mysql restart
$ sudo service mysql restart

Schritt 4: Bestätigen der Änderung

Melden Sie sich mit dem folgenden Befehl noch einmal bei Ihrem MySQL-Server an:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo mysql -u root -p
$ sudo mysql -u root -p
$ sudo mysql -u root -p

Geben Sie Ihr Root-Passwort ein und drücken Sie die Eingabetaste .

Führen Sie die folgende Abfrage noch einmal an der MySQl-Eingabeaufforderung aus:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ VARIABLEN WIE ‘sql_mode’ anzeigen ;
$ SHOW VARIABLES LIKE ‘sql_mode’;
$ SHOW VARIABLES LIKE 'sql_mode';

Wie Sie dem Screenshot unten entnehmen können, ist der Wert

‘STRICT_TRANS_TABLES’

‘STRICT_TRANS_TABLES’in der Liste der sql_mode-Werte und dies bedeutet, dass es erfolgreich deaktiviert wurde.

image2 37

Abschluss

Dies ist die grundlegende Vorgehensweise zum Deaktivieren des MySQL-Strict-Modus auf Ihrem Ubuntu 18.04-Server. Denken Sie daran, dass es ratsam ist, den Modus nur dann zu deaktivieren, wenn Sie eine Anwendung haben, die die Änderung erfordert. Dies gilt für Anwendungen, die Werte in einer Datenbank für Spalten speichern, die leere Werte ohne definierte Standardwerte annehmen.

Ein häufiger Fall ist das Feld Adresse 2“ , das zwar in den meisten Registrierungsformularen vorhanden ist, dessen Eingabe jedoch möglicherweise nicht obligatorisch ist. Wir hoffen, dass dieser Leitfaden Ihnen bei der Behebung Ihrer MySQL-Fehler hilft.

Schauen Sie sich die Top 3 der dedizierten Server-Hosting-Dienste an:

Hostinger
4.6

2.435 Nutzerbewertungen

2,99 $ /Monat
Startpreis

Besuchen Sie Hostinger

Bewertung basierend auf Expertenbewertung
  • Benutzerfreundlich
    4.7
  • Unterstützung
    4.7
  • Merkmale
    4.8
  • Zuverlässigkeit
    4.8
  • Preisgestaltung
    4.7
IONOS
4,0

382 Benutzerbewertungen

1,00 $ /Monat
Startpreis

Besuchen Sie IONOS

Bewertung basierend auf Expertenbewertung
  • Benutzerfreundlich
    4.5
  • Unterstützung
    4,0
  • Merkmale
    4.5
  • Zuverlässigkeit
    4.5
  • Preisgestaltung
    4.3
Ultahost
4.9

725 Benutzerbewertungen

2,90 $ /Monat
Startpreis

Besuchen Sie Ultahost

Bewertung basierend auf Expertenbewertung
  • Benutzerfreundlich
    4.3
  • Unterstützung
    4.8
  • Merkmale
    4.5
  • Zuverlässigkeit
    4,0
  • Preisgestaltung
    4.8
  • Möchten Sie Vorschläge zum besten Hosting für dedizierte Server ? Klicken Sie hier und lesen Sie mehr.