Schritte zur Lösung des Zeitzonenproblems in MySQL 8.0

Schritte zur Lösung des Zeitzonenproblems in MySQL 8.0

Softwareversion

  • Windows: Windows 10
  • MySQL: mysql-8.0.16-winx64.zip

Problembeschreibung

Wenn Java die aktuelle Zeit in der MySQL-Datenbank speichert, ist die Zeit in MySQL falsch

Problemanalyse

Grund 1: Die Java-Datenbankverbindung verwendet die UTC-Zeitzone (Universal Time), d. h. serverTimezone=UTC

URL: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=true

Grund 2: Das von MySQL verwendete Zeitzonenattribut ist +00:00, und die Pekinger Zeit ist 8 Stunden vor der UTC-Zeit, d. h. UTC +08:00

Überprüfen Sie MySQL

/**
 * Sie können die globalen Zeitzoneneinstellungen und die Zeitzoneneinstellungen der Sitzung anzeigen. * global.time_zone ist für die Zeitzoneneinstellung verantwortlich, wenn Java eine Verbindung zur Datenbank herstellt. * session.time_zone ist für die Zeitzoneneinstellung verantwortlich, wenn der Navicat-Client eine Verbindung zur Datenbank herstellt. * /
mysql> wähle @@global.time_zone,@@session.time_zone;

/**
 * Es gibt eine andere Methode * Das System stellt die Verwendung der Systemzeitzone dar * CST ist eine sehr chaotische Zeitzone, sie umfasst 4 Zeitzonen * /
mysql> Variablen wie „%time_zone%“ anzeigen; 

// Überprüfen Sie die Zeitzone. Mit dieser Befehlszeile können Sie feststellen, ob session.time_zone richtig konfiguriert istmysql> select now();

Problemumgehung

Schritt 1: Ändern Sie die Zeitzone in Java auf Ost 8

// ServerTimezone kann auf Pekinger Zeit GMT%, Shanghaier Zeit Asien/Shanghai oder Hongkonger Zeit Hongkong eingestellt werden
URL: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true

Schritt 2: Ändern Sie die Zeitzone der MySQL-Datenbank auf Ost 8

// Methode 1: Befehl verwenden (Vorteil: MySQL-Dienst muss nicht neu gestartet werden, Nachteil: Sobald MySQL-Dienst neu gestartet wird, verschwinden die Einstellungen)
mysql> Zeitzone festlegen = '+8:00';
mysql> globale Zeitzone festlegen = '+8:00';
// Methode 2: Ändern der Konfigurationsdatei my.ini (Vorteil: Einstellungen dauerhaft speichern, Nachteil: Der MySQL-Dienst muss neu gestartet werden)
[mysqld]
// Standardzeitzone festlegen default-time_zone='+8:00'

Dies ist das Ende dieses Artikels über die Schritte zur Lösung des Zeitzonenproblems von MySQL 8.0. Weitere relevante Inhalte zur Zeitzone von MySQL 8.0 finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • mysql löst zeitzonenbezogene Probleme
  • Detaillierte Erklärung des MySQL-Zeitzonenproblems in Java
  • So zeigen Sie die Zeitzone in MySQL an und ändern sie
  • Zusammenfassung der Methoden zum Ändern der MySQL-Zeitzone
  • So unterscheiden Sie Groß- und Kleinbuchstaben in Zeichenfolgen bei MySQL-Abfragen
  • MySQL-Zeitzonenproblem

<<:  So erstellen Sie Ihr eigenes Docker-Image und laden es auf Dockerhub hoch

>>:  Standard-CSS-Stil der XHTML-Sprache

Artikel empfehlen

So fragen Sie die Schnittmenge von Zeiträumen in MySQL ab

Mysql-Abfragezeitraum-Schnittmenge Anwendungsszen...

Teilen Sie einige wichtige Interviewfragen zum MySQL-Index

Vorwort Ein Index ist eine Datenstruktur, die ein...

Css3 realisiert nahtloses Scrollen und Anti-Shake

Frage Das nahtlose Scrollen von Bildern und Texte...

Detailliertes Tutorial zum Herunterladen und Installieren von VMware Workstation

Virtuelle Maschinen sind eine sehr praktische Tes...

So verwenden Sie video.js in Vue zum Abspielen von Videos im M3U8-Format

Inhaltsverzeichnis 1. Installation 2. Einführung ...

Einführung in die Verwendung von Unicode-Zeichen in Webseiten (&#, \u usw.)

Die ersten Computer konnten nur ASCII-Zeichen ver...

Warum Google und Facebook Docker nicht verwenden

Der Grund für das Schreiben dieses Artikels beste...

HTML-Tutorial: Sammlung häufig verwendeter HTML-Tags (5)

Diese eingeführten HTML-Tags entsprechen nicht un...

js implementiert Array-Abflachung

Inhaltsverzeichnis So reduzieren Sie ein Array 1....