Heim > Datenbank > MySQL-Tutorial > MySQL ändert die Kodierung der Datenbank

MySQL ändert die Kodierung der Datenbank

王林
Freigeben: 2023-05-23 12:50:37
Original
1530 Leute haben es durchsucht

MySQL ist ein beliebtes relationales Datenbankverwaltungssystem, das sowohl für persönliche Websites und kleine Unternehmen als auch für große Anwendungen und Software auf Unternehmensebene verwendet werden kann. MySQL verwendet standardmäßig die UTF-8-Kodierung, um die mehrsprachige Datenspeicherung zu unterstützen. Manchmal treten jedoch Probleme bei der Datenbankkodierung auf, z. B. verstümmelte Zeichen oder die Unfähigkeit, chinesische Zeichen richtig anzuzeigen. Zu diesem Zeitpunkt muss die MySQL-Datenbankcodierung geändert werden, um diese Probleme zu lösen.

In diesem Artikel erfahren Sie, wie Sie die MySQL-Datenbankkodierung ändern. Zunächst müssen wir die Konzepte des MySQL-Zeichensatzes und der MySQL-Codierung verstehen. Der Zeichensatz in MySQL bezieht sich auf den Zeichensatz, der Zeichen und Text in der Datenbank darstellt, z. B. utf8, gbk usw. Unter Codierung versteht man die Art und Weise, wie diese Zeichensätze zur Speicherung und Übertragung auf Computern verwendet werden.

Schritt 1: Sichern Sie die Datenbank

Stellen Sie sicher, dass Sie die Datenbank sichern, bevor Sie Änderungen vornehmen, um versehentlichen Datenverlust zu verhindern. Sie können den Befehl mysqldump verwenden, um die gesamte Datenbank in einer SQL-Datei zu sichern, wie unten gezeigt:

mysqldump -u username -p dbname > backup.sql
Nach dem Login kopieren

Dabei ist Benutzername der MySQL-Benutzername, Datenbankname der Name der Datenbank, die gesichert werden muss, und backup.sql ist der Name der Sicherungsdatei.

Nachdem die Sicherung abgeschlossen ist, können Sie die MySQL-Kodierung weiter ändern.

Schritt 2: Überprüfen Sie die Datenbankkodierung

Verwenden Sie den folgenden Befehl, um den Zeichensatz und die Kodierung der aktuellen Datenbank zu überprüfen:

SHOW VARIABLES LIKE '%character%';
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Nach dem Login kopieren

Wie Sie hier sehen können, sind der Zeichensatz und die Kodierung der aktuellen Datenbank sind beide utf8mb4. Wenn Sie es in GBK oder eine andere Kodierung ändern möchten, müssen Sie mit dem nächsten Schritt fortfahren.

Schritt 3: Ändern Sie die Datenbankkodierung

Zuerst müssen Sie den zu ändernden Datenbanknamen bestätigen. Angenommen, Sie möchten die Codierung der Datenbank mydb in gbk ändern, können Sie den folgenden Befehl verwenden:

ALTER DATABASE mydb CHARACTER SET gbk;
Nach dem Login kopieren

Mit dem folgenden Befehl können Sie bestätigen, ob die Datenbankcodierung erfolgreich geändert wurde.

SHOW CREATE DATABASE mydb;
Nach dem Login kopieren

Unter diesen ist mydb der Name der zu ändernden Datenbank. Wenn in der Ausgabe „DEFAULT CHARACTER SET gbk“ angezeigt wird, bedeutet dies, dass die Datenbankkodierung erfolgreich geändert wurde.

Wenn in der Datenbank bereits eine Datentabelle vorhanden ist, müssen auch deren Zeichensatz und Kodierung an die neue Zielkodierung angepasst werden. Sie können den folgenden Befehl verwenden, um eine einzelne Datentabelle zu ändern:

ALTER TABLE mytable CONVERT TO CHARACTER SET gbk;
Nach dem Login kopieren

wobei mytable der Name der zu ändernden Datentabelle und gbk die Zielkodierung ist.

Wenn Sie die Kodierung mehrerer Datentabellen gleichzeitig ändern müssen, können Sie den folgenden Befehl verwenden, um sie stapelweise zu ändern:

ALTER DATABASE mydb CHARACTER SET gbk;
ALTER TABLE mytable1 CONVERT TO CHARACTER SET gbk;
ALTER TABLE mytable2 CONVERT TO CHARACTER SET gbk;
...
Nach dem Login kopieren

Es ist zu beachten, dass eine Änderung der Kodierung der Datentabelle den Zeichensatz ändert und Codierung aller Spalten in der Datentabelle, was bedeutet, dass die Originaldaten in der Datentabelle überschrieben werden. Stellen Sie daher sicher, dass Sie die Daten sichern, bevor Sie Änderungen vornehmen. Wenn Sie diese Datentabellen abfragen möchten, müssen Sie außerdem eine Codierung verwenden, die dem Zeichensatz und der Codierung entspricht.

Schritt 4: MySQL neu starten

Nachdem Sie den Zeichensatz und die Codierung der Datentabelle geändert haben, müssen Sie den MySQL-Dienst neu starten, um sicherzustellen, dass die Datenbankänderung wirksam wurde. Sie können den folgenden Befehl verwenden, um den MySQL-Server neu zu starten:

sudo systemctl restart mysql
Nach dem Login kopieren

Sie müssen das Passwort des Root-Benutzers eingeben, um diesen Befehl auszuführen.

Zusammenfassung

Durch Ändern der MySQL-Datenbankkodierung können Zeichensatz- und Kodierungsprobleme gelöst werden. Dieser Vorgang kann durch Sichern der Daten, Überprüfen des Zeichensatzes und der Codierung, Ändern der Datenbankcodierung und Neustarten von MySQL abgeschlossen werden. Es ist zu beachten, dass sich eine Änderung der Datenbankkodierung auf alle vorhandenen Datentabellen in der Datenbank auswirkt. Stellen Sie daher sicher, dass Sie die Daten vor dem Betrieb sichern.

Das obige ist der detaillierte Inhalt vonMySQL ändert die Kodierung der Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage