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
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%';
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/ | +--------------------------+----------------------------+
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;
Mit dem folgenden Befehl können Sie bestätigen, ob die Datenbankcodierung erfolgreich geändert wurde.
SHOW CREATE DATABASE mydb;
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;
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; ...
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
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!