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

Vue implementiert Drag-Fortschrittsbalken

In diesem Artikelbeispiel wird der spezifische Co...

Details zu benutzerdefinierten Vue3-Anweisungen

Inhaltsverzeichnis 1. Benutzerdefinierte Anweisun...

Analyse der Vor- und Nachteile von gespeicherten MySQL-Prozeduren

MySQL Version 5.0 begann, gespeicherte Prozeduren...

Detaillierte Erläuterung des MySQL MVCC-Mechanismusprinzips

Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...

Lösung zum Vergessen des Root-Passworts der MySQL 5.7- und 8.0-Datenbank

Hinweis: Um das Root-Passwort in MySQL 5.7 zu kna...

js-Lernnotizen: Schlüsselwörter „class“, „super“ und „extended“

Inhaltsverzeichnis Vorwort 1. Erstellen Sie Objek...

So verwenden Sie Docker Compose zum Implementieren des Nginx-Lastausgleichs

Implementieren Sie den Nginx-Lastausgleich basier...

So installieren Sie Oracle_11g mit Docker

Installieren Sie Oracle_11g mit Docker 1. Ziehen ...

Natives JS zur Implementierung des Flugzeug-Kriegsspiels

In diesem Artikelbeispiel wird der spezifische JS...