Heim > Datenbank > MySQL-Tutorial > Wie stelle ich den globalen SQL_MODE in MySQL dauerhaft ein?

Wie stelle ich den globalen SQL_MODE in MySQL dauerhaft ein?

Patricia Arquette
Freigeben: 2024-12-01 17:00:12
Original
706 Leute haben es durchsucht

How to Permanently Set Global SQL_MODE in MySQL?

Einstellen des globalen SQL_MODE in MySQL: Eine Anleitung

Bei der Arbeit mit MySQL stößt man oft auf die Notwendigkeit, die SQL_MODE-Einstellung zu ändern. Dieser Modus regelt eine Reihe von SQL-Verhaltens- und Parserkonfigurationen und beeinflusst Faktoren wie Datenvalidierung, Transaktionsverarbeitung und mehr.

Ist die Befehlsstruktur korrekt?

Die Syntax zum Festlegen mehrerer Modi in SQL_MODE mit dem SET-Befehl ist korrekt:

SET GLOBAL SQL_MODE='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION'
Nach dem Login kopieren

Vorteile von Session und Global Modi

  • Sitzungsmodus: Wirkt sich nur auf die aktuelle Sitzung aus und wird bei Sitzungsbeendigung zurückgesetzt. Ideal für temporäre oder benutzerspezifische SQL_MODE-Einstellungen.
  • Globaler Modus: Wirkt sich auf alle nachfolgenden Sitzungen aus, bis sie geändert werden. Geeignet für systemweite, permanente Konfigurationen, die für alle Benutzer gelten.

Globaler Modus vs. Sitzungsmodus

Wenn Sie mit einem Szenario wie der Aktualisierung der Datenbank mit UNC-Werten unter Verwendung verschiedener Benutzer konfrontiert werden Das Festlegen eines globalen Modus für NO_BACKSLASH_ESCAPES ist sinnvoll, da dadurch sichergestellt wird, dass alle Benutzer betroffen sind, unabhängig von ihren Sitzungseinstellungen.

Globalen SQL_MODE festlegen Dauerhaft

Leider ist die direkte Änderung globaler Einstellungen mit SET nicht dauerhaft und wird nach einem MySQL-Neustart zurückgesetzt. Um Änderungen dauerhaft zu machen, legen Sie den Modus in der Konfigurationsdatei (/etc/mysql/my.cnf) fest:

[mysqld]
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Nach dem Login kopieren

Verwenden Sie für neuere MySQL-Versionen (z. B. 5.7.8) die folgende Syntax:

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
Nach dem Login kopieren

Fazit

Für systemweite, persistente SQL_MODE-Einstellungen, die sich auf alle Benutzer auswirken, ist das Festlegen eines globalen Der Modus ist der bevorzugte Ansatz. In der Konfigurationsdatei sollten dauerhafte Änderungen vorgenommen werden, um sicherzustellen, dass das gewünschte SQL-Verhalten über alle Sitzungen hinweg konsistent ist.

Das obige ist der detaillierte Inhalt vonWie stelle ich den globalen SQL_MODE in MySQL dauerhaft ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage