MySQL ist ein weit verbreitetes relationales Datenbankverwaltungssystem, das mehrere Zeichenkodierungen unterstützt, einschließlich UTF-8, GBK usw. In praktischen Anwendungen müssen wir häufig die Zeichenkodierung von MySQL ändern, um den tatsächlichen Anforderungen gerecht zu werden. In diesem Artikel wird erläutert, wie die Zeichenkodierung von MySQL geändert wird.
Bevor wir die Zeichenkodierung von MySQL ändern, müssen wir zuerst die aktuelle Zeichenkodierung bestimmen. Sie können die aktuelle Zeichenkodierung mit dem folgenden Befehl abfragen:
show variables like 'character_set_database';
Wenn das Ausgabeergebnis UTF-8 ist, ist die aktuelle Zeichenkodierung UTF-8. Wenn das Ausgabeergebnis GBK ist, ist die aktuelle Zeichenkodierung GBK.
Bevor Sie die Zeichenkodierung von MySQL ändern, müssen Sie zuerst den MySQL-Dienst stoppen. Sie können den MySQL-Dienst mit dem folgenden Befehl stoppen:
sudo service mysql stop
Die MySQL-Konfigurationsdatei befindet sich unter /etc/mysql/mysql.conf.d/mysqld.cnf. Öffnen Sie die Datei mit einem Editor und suchen Sie nach den folgenden zwei Zeilen:
collation-server = utf8_general_ci character-set-server = utf8
Ändern Sie sie in:
collation-server = utf8mb4_unicode_ci character-set-server = utf8mb4
Was hier geändert wird, ist die Codierung in UTF-8. Beachten Sie, dass in verschiedenen Situationen möglicherweise unterschiedliche Codierungen geändert werden müssen.
Starten Sie den MySQL-Dienst neu. Dies kann mit dem folgenden Befehl erreicht werden:
sudo service mysql start
Nachdem der Zeichensatz von MySQL geändert wurde, Die zuvor erstellten Zeichensätze von Datenbanken und Tabellen werden nicht automatisch geändert. Wir müssen den Zeichensatz der erstellten Datenbank und Tabellen manuell ändern.
Verwenden Sie den folgenden Befehl, um den Zeichensatz der Datenbank zu ändern:
ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Unter diesen steht dbname für den zu ändernden Datenbanknamen, utf8mb4 für den Zeichensatz und utf8mb4_unicode_ci für die Sortierung.
Verwenden Sie den folgenden Befehl, um den Zeichensatz der Tabelle zu ändern:
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Unter diesen steht Tabellenname für den zu ändernden Tabellennamen, utf8mb4 für den Zeichensatz und utf8mb4_unicode_ci für die Sortierung.
Beachten Sie, dass Sie relevante Daten sichern müssen, bevor Sie den obigen Befehl ausführen, um Datenverlust zu vermeiden.
Beim Herstellen einer Verbindung mit MySQL müssen Sie den beim Herstellen der Verbindung verwendeten Zeichensatz angeben. Sie können den Zeichensatz beim Herstellen einer Verbindung mit dem folgenden Befehl angeben:
mysql -u username -p --default-character-set=utf8mb4 dbname
wobei Benutzername für den Benutzernamen, Datenbankname für den Namen der zu verbindenden Datenbank und utf8mb4 für den Zeichensatz steht.
Abschließend können wir mit dem folgenden Befehl überprüfen, ob die Zeichensatzänderung erfolgreich war:
show variables like 'character_set_database';
Wenn das Ausgabeergebnis mit der geänderten Zeichenkodierung übereinstimmt, bedeutet dies, dass die Änderung erfolgreich war.
Zusammenfassung
Beim Ändern der Zeichenkodierung von MySQL müssen viele Dinge beachtet werden. Sie müssen darauf achten, relevante Daten zu sichern, um Datenverlust zu vermeiden. Seien Sie bei der Bedienung vorsichtig, insbesondere beim Ändern erstellter Datenbanken und Tabellen. Es wird empfohlen, es bei Änderungen zunächst in einer Testumgebung auszuprobieren, um sicherzustellen, dass es keine Auswirkungen auf die offizielle Umgebung hat.
Das obige ist der detaillierte Inhalt vonÄndern Sie die Zeichenkodierung von MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!