So vermeiden Sie die URL-Zeitzonenfalle in MySQL

So vermeiden Sie die URL-Zeitzonenfalle in MySQL

Vorwort

Wenn Sie MySQL 6.0.x oder höher (JAR) verwenden, müssen Sie neuerdings die ServerTimezone im URL-Link des Codes angeben. Es tritt eine Ausnahme auf:

1. ServerTimezone nicht angegeben

Konfigurieren der URL in XML

<Eigenschaftsname="URL" Wert="jdbc:mysql://localhost:3306/mybatisstudy"/>

Anomalien

Verursacht durch: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: Der Server-Zeitzonenwert „�й���׼ʱ��“ wird nicht erkannt oder stellt mehr als eine Zeitzone dar. Sie müssen entweder den Server oder den JDBC-Treiber (über die Konfigurationseigenschaft „serverTimezone“) so konfigurieren, dass ein spezifischerer Zeitzonenwert verwendet wird, wenn Sie die Zeitzonenunterstützung nutzen möchten.

Sie müssen den Server oder JDBC-Treiber (über die Konfigurationseigenschaft „serverTimezone“) so konfigurieren, dass ein detaillierterer Zeitzonenwert verwendet wird, wenn Sie die Zeitzonenunterstützung nutzen möchten.

2. Online-Lösungen

Fügen Sie den Parameter ?serverTimezone=utc nach der URL hinzu

<Eigenschaftsname="URL" Wert="jdbc:mysql://localhost:3306/springdatastudy?serverTimezone=UTC"/>

2.1. Aufgetretene Probleme

Obwohl beim Hinzufügen des Zeitzonenprogramms oben kein Fehler auftritt, gibt es ein Problem, wenn wir die Zeit mithilfe von Java-Code in die Datenbank einfügen.

Beispielsweise lautet die in den Java-Code eingefügte Zeit: 2017-08-21 17:29:56

Die in der Datenbank angezeigte Zeit lautet jedoch: 2017-08-21 09:29:56

3. Grundursache

Wegen des Problems mit der Zeitzoneneinstellung.

UTC steht für Universal Coordinated Time (koordinierte Weltzeit), die von uns verwendete Zeit ist jedoch die Zeitzone von Peking, also Ost-8 Uhr, also acht Stunden vor UTC.

UTC + (+0800) = Ortszeit (Peking)

4. Lösung

Die Zeitzone der URL verwendet die chinesische Standardzeit. Das heißt, serverTimezone=Asia/Shanghai

4.1 Verwenden Sie Java-Code, um die lokale Zeitzonen-ID abzurufen

Kalender cal = Kalender.getInstance();
ZeitZone ZeitZone = cal.getTimeZone();
System.out.println(timeZone.getID());
System.out.println(timeZone.getDisplayName());
Asien/Shanghai
Chinesische Standardzeit

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

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

<<:  So verwenden Sie CocosCreator zum Erstellen eines Schießspiels

>>:  React erhält den Eingabewert und übermittelt 2 Methodenbeispiele

Artikel empfehlen

Grundlegende Anwendungsbeispiele für benannte Slots in Vue

Vorwort Benannte Slots werden mithilfe des Attrib...

Probleme bei der Installation von Python3 und Pip in Ubuntu in Docker

Text 1) Laden Sie das Ubuntu-Image herunter Docke...

Installieren Sie MySQL 5.7.18 mit dem RPM-Paket unter CentOS 7

Ich habe kürzlich MySQL verwendet. Im Artikel „My...

Installationshinweise zur komprimierten Version von MySQL 5.7.17

In diesem Artikel werden die Installationsschritt...

Fünf Verzögerungsmethoden für die MySQL-Zeitblindinjektion

Fünf Verzögerungsmethoden für die MySQL-Zeitblind...

Detaillierte Schritte zur Installation und Konfiguration von MySQL 5.7

1. MySQL herunterladen 1. Melden Sie sich auf der...

Lösen Sie das domänenübergreifende Problem von Vue + SpringBoot + Shiro

Inhaltsverzeichnis 1. Konfigurieren Sie das Vue-F...

Lassen Sie sich die tiefe Kopie von js verstehen

Inhaltsverzeichnis js tiefe Kopie Methode der Dat...

So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker

Betriebssystem: Alibaba Cloud ESC-Instanz centos7...

So verstehen Sie die JS-Funktion Anti-Shake und Funktionsdrosselung

Inhaltsverzeichnis Überblick 1. Funktion Entprell...