So stellen Sie die MySQL5.7-Kodierung auf utf8mb4 ein

So stellen Sie die MySQL5.7-Kodierung auf utf8mb4 ein

Ich bin vor kurzem auf ein Problem gestoßen. Die Emoticons oder einige Emojis auf mobilen Endgeräten sind 4 Bytes groß, UTF-8 jedoch 3 Bytes. Ich habe im Internet nach vielen Lösungen gesucht und schließlich meine eigene Lösung gefunden. Wenn das aktuelle Dilemma lautet: Ihre MySQL-Version ist vor 5.5.3 (Versionen vor 5.5.3 können die UTF-8MB4-Kodierung nicht verwenden), müssen Sie eine höhere Version von MySQL neu installieren und dann die Kodierung erhalten.

1. Überprüfen Sie Ihre aktuelle Datenbankversion

Verwenden Sie den Befehl: select version();

Wenn die aktuelle Datenbankversion vor 5.5.3 liegt, müssen Sie die Datenbank neu installieren. Wenn sie höher als diese Version ist, überspringen Sie den zweiten und dritten Schritt.

2. Sichern Sie die Daten in der aktuellen Datenbank

Die von mir hier verwendete Datenbankvisualisierungssoftware ist Navicat. Klicken Sie unter Datenbank mit der rechten Maustaste auf die entsprechende Datenbank, wählen Sie dann „SQL-Datei kopieren“ und wählen Sie „Daten und Struktur“, um die Datenbankdatei mit der Endung .sql zu exportieren und auf der Festplatte zu speichern. Nach der Installation der neuen Datenbankversion wählen Sie die Datenbank aus und klicken mit der rechten Maustaste auf „SQL-Datei ausführen“, damit die Daten nicht verloren gehen.

3. Aktuelle Datenbank komplett löschen

Das Löschen einer Datenbank ist sehr mühsam und manchmal wird sie nicht sauber gelöscht. Hier sind einige Methoden, die ich als nützlich empfunden habe.

3.1 MySQL-Dienst löschen

Systemsteuerung -> Alle Systemsteuerungselemente -> Programme und Funktionen, MySQL-Server deinstallieren!

3.2 Löschen Sie alle Dateien im MySQL-Verzeichnis

Löschen Sie die Datei my.ini und alle Dateien im Ordner mysql. Das allgemeine Installationsverzeichnis lautet: C:\Programme\MySQL

3.3 Löschen von Registrierungsinformationen

Drücken Sie gleichzeitig "win" + R und geben Sie regedit ein, um den Registrierungsmanager aufzurufen

löschen:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL-Ordner

löschen:

Ordner HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL.

löschen:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL-Ordner

Sollte der oben genannte Ordner nicht vorhanden sein oder nicht existieren, ignorieren Sie ihn einfach.

3.4 Löschen Sie den versteckten MySQL-Ordner

Normalerweise ist es versteckt. Wenn Sie auf dem Laufwerk C nach diesem Verzeichnis suchen, sollten Sie C:\ProgramData\MySQL\MySQL Server 5.7 finden.

4 Installieren Sie die Datenbank mysql5.7

Laden Sie zuerst mysql5.7 herunter. Ich habe die MSI-Version verwendet. Ich werde den Installationsvorgang nicht im Detail beschreiben. Kurz gesagt, ich habe es im Standardpfad installiert, also auf dem Laufwerk C. Nach der Installation habe ich die Systemumgebungsvariablen konfiguriert, um das kleine schwarze Fenster aufzurufen



Wählen Sie im Abschnitt Systemvariablen den Pfad aus und geben Sie unter Pfad den Installationspfad der Datenbank ein. Gehen Sie einfach zum Pfad des Bin-Ordners. Rufen Sie jetzt das kleine schwarze Fenster auf, um Ihr Kodierungsformat anzuzeigen

Die Anweisung lautet: SHOW VARIABLES LIKE 'character_set%';

Die angezeigten Zeichen sollten alle UTF-8 sein, da die Standardeinstellung UTF-8 ist.

5 Ändern Sie das Kodierungsformat

Zuerst müssen wir die Konfiguration in der Konfigurationsdatei (my.ini) ändern, aber wir haben festgestellt, dass im Installationsverzeichnis keine solche Datei vorhanden ist.


Das hat mich den ganzen Nachmittag geärgert. Später, nachdem ich die Informationen konsultiert hatte, stellte ich fest, dass die Datei in einem versteckten Ordner auf dem Laufwerk C versteckt war. Ich suchte auf dem Laufwerk C nach C:\ProgramData\MySQL\MySQL Server 5.7.

Die Datei wurde gefunden:

Nehmen Sie Konfigurationsänderungen in der Datei my.ini vor

[Kunde] 
Standardzeichensatz = utf8mb4

[mysql] 
Standardzeichensatz = utf8mb4

[mysqld] 
Zeichensatz-Client-Handshake = FALSE 
Zeichensatzserver = utf8mb4 
Sortierserver = utf8mb4_unicode_ci 
init_connect = "Namen festlegen utf8mb4"

Beachten Sie, dass sich die beiden oben fettgedruckten Elemente in der ursprünglichen Konfigurationsdatei befinden und beide UTF-8-Werte haben. Achten Sie daher beim Hinzufügen dieser beiden Elemente darauf, die ursprünglichen Elemente zu ersetzen, da MySQL sonst die Konfigurationsdatei nicht lesen und der Dienst nicht gestartet werden kann.

Nachdem die Änderung abgeschlossen ist, speichern Sie sie und starten Sie den Datenbankdienst neu. Die Adresse zum Neustarten des Dienstes lautet wie folgt


Geben Sie dann zwei weitere Zeichensatzbefehle in das kleine schwarze Fenster ein, um zu überprüfen

VARIABLEN WIE „character_set%“ ANZEIGEN;

Der Zeichensatz der Datenbank wurde geändert


VARIABLEN WIE „collation%“ ANZEIGEN;

Der Zeichensatz der Datentabelle wurde ebenfalls geändert

Es ist erwähnenswert, dass utf8mb4 mit utf-8 kompatibel ist, sodass Sie sich keine Sorgen über eine Verstümmelung der Originaldaten machen müssen.

Wenn Sie MySQL Version 5.5.3 oder früher verwenden, können Sie Daten im MEDIUMBLOB-Format speichern, um verstümmelte Zeichen zu vermeiden und den Kodierungssatz nicht ändern zu wollen, aber ich empfehle es nicht.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So ändern Sie die Kodierung der MySQL-Datenbank in utf8mb4
  • Spring Data Jpa Mysql-Beispielcode mit utf8mb4-Kodierung
  • So gehen Sie mit Fehlern im Emoji-Tabellenspeicher von MySQL um [Kodierung auf utf8mb4 ändern]
  • MySQL-Kodierung utf8 und utf8mb4 utf8mb4_unicode_ci und utf8mb4_general_ci

<<:  So richten Sie eine automatische tägliche Datenbanksicherung in Linux ein

>>:  Beispiel für die Implementierung der Graphql-Schnittstelle in Vue

Artikel empfehlen

Lösung zur Konvertierung in Inline-Styles in CSS (css-inline)

Sprechen Sie über die Szene E-Mail senden Einbett...

Beispielanalyse zum Beheben von Problemen in historischen Linux-Images

Fix für Probleme mit historischen Linux-Images De...

Einführung in die Verwendung mehrerer spezieller Attribut-Tags in HTML

Die folgenden Attribute sind nicht sehr browserkom...

Lokale MySQL-Installation und Problemlösung

Vorwort Dieser Artikel ist ziemlich ausführlich u...

Quickjs kapselt JavaScript-Sandbox-Details

Inhaltsverzeichnis 1. Szenario 2. Vereinfachen Si...

Detaillierte Erklärung der HTML-Tabellen

Funktion: Datenanzeige, Tabellenanwendungsszenari...

Vue implementiert Tab-Tab-Umschaltung

In diesem Artikelbeispiel wird der spezifische Co...

Warum ist die Bildlaufleiste auf der Webseite rechts angebracht?

Warum befinden sich die Bildlaufleisten der Brows...

MySQL Online-DDL-Tool Gh-Ost-Prinzipanalyse

Inhaltsverzeichnis 1. Einleitung 1.1 Grundsatz 1....

Lösung für das Fehlen der my.ini-Datei in MySQL 5.7

Was ist my.ini? my.ini ist die in der MySQL-Daten...

Ubuntu 16.04 64-Bit in drei Schritten mit 32-Bit-Programmen kompatibel

Schritt 1: Bestätigen Sie die Architektur Ihres S...

Detaillierte Erläuterung des primitiven Datentyps Symbol in JavaScript

Inhaltsverzeichnis Einführung Beschreibung Namens...