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 installieren Sie nginx unter Linux

Nginx wurde in der Programmiersprache C entwickel...

Analyse von MySQL-Latenzproblemen und Datenlöschungsstrategieprozess

Inhaltsverzeichnis 1. MySQL-Replikationsprozess 2...

Feste Tabellenbreite table-layout: fest

Damit die Tabelle den Bildschirm (den verbleibende...

HTML-Formular und die Verwendung interner Formular-Tags

Code kopieren Der Code lautet wie folgt: <html...

Mehrere Navigationsrichtungen, die in Zukunft beliebt sein werden

<br />Dies ist nicht nur ein Zeitalter der I...

So verleihen Sie einer Website ein höheres und ansprechenderes Aussehen

„Wie lässt man eine Website hochwertig aussehen? ...

Verwenden Sie js in html, um die lokale Systemzeit abzurufen

Code kopieren Der Code lautet wie folgt: <div ...

Detaillierte Erläuterung der Angular-Routing-Unterrouten

Inhaltsverzeichnis 1. Subroutensyntax 2. Beispiel...