Heim > Datenbank > MySQL-Tutorial > Hauptteil

Ändern Sie die MySQL-Datenbankkodierung

WBOY
Freigeben: 2023-05-20 09:49:07
Original
1499 Leute haben es durchsucht

MySQL ist ein Open-Source-Datenbankverwaltungssystem, das in verschiedenen Websites, Data Warehouses und Unternehmensanwendungen weit verbreitet ist. In MySQL bezieht sich das Kodierungsformat auf die interne binäre Speichermethode für in der Datenbank gespeicherte Textinhalte.

Wenn Ihre Datenbank Sonderzeichen wie chinesische oder andere nicht-englische Zeichen speichert, müssen Sie das richtige Codierungsformat festlegen, um sicherzustellen, dass diese Zeichen korrekt gespeichert und abgerufen werden können. In diesem Artikel wird erläutert, wie Sie das Codierungsformat der MySQL-Datenbank ändern.

Schritt 1: Sichern Sie die Datenbank

Bevor Sie Datenbankänderungen vornehmen, sichern Sie unbedingt die Datenbank, um Datenverlust oder nicht behebbare Schäden zu verhindern. Sie können das von MySQL bereitgestellte Tool mysqldump verwenden, um die Datenbank zu sichern. Der Befehl lautet wie folgt:

mysqldump -u [username] -p [database_name] > backup.sql
Nach dem Login kopieren

Unter anderem ist [Benutzername] der Benutzername der Datenbank, [Datenbankname] ist der Name der zu sichernden Datenbank bedeutet >, dass der Sicherungsinhalt in die Datei „backup.sql“ wiederhergestellt wird.

Schritt 2: Datenbankkodierung anzeigen

Um die Standardkodierung in der aktuellen MySQL-Datenbank anzuzeigen, können Sie den folgenden Befehl ausführen:

SELECT @@character_set_database;
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Befehl zeigt das aktuelle Standardkodierungsformat der Datenbank an.

Schritt 3: Datenbankkodierung ändern

Um die Datenbankkodierung zu ändern, müssen Sie die folgenden Schritte ausführen:

  1. Suchen die MySQL-Konfigurationsdatei (normalerweise /etc/my.cnf) und öffnen Sie sie. Wenn Sie die Datei nicht finden können, können Sie den folgenden Befehl im Terminal ausführen, um sie zu finden:
find / -name my.cnf
Nach dem Login kopieren
  1. Fügen Sie die folgende Zeile zur Konfigurationsdatei hinzu: #🎜 🎜#
  2. [client]
    default-character-set=utf8mb4
    
    [mysql]
    default-character-set=utf8mb4
    
    [mysqld]
    collation-server = utf8mb4_unicode_ci
    character-set-server = utf8mb4
    Nach dem Login kopieren
Diese Einstellungen stellen sicher, dass alle MySQL-Clients und -Server das richtige Codierungsformat verwenden.

    Speichern und schließen Sie das Profil.
  1. Starten Sie den MySQL-Server neu, damit die Änderungen wirksam werden:
  2. sudo service mysql restart
    Nach dem Login kopieren
    Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Einstellungen erfolgreich angewendet wurden: # 🎜🎜##🎜 🎜#
    SELECT @@character_set_database;
    Nach dem Login kopieren
    Nach dem Login kopieren
  1. Bei korrekter Anwendung sollte die Ausgabe „utf8mb4“ lauten.
Schritt 4: Vorhandene Tabellen in die neue Kodierung konvertieren

Wenn bereits Tabellen in der Datenbank vorhanden sind, müssen diese in das neue Kodierungsformat konvertiert werden, um die Daten zu speichern korrekt.

Führen Sie den folgenden Befehl aus, um eine SQL-Anweisung für alle Tabellen zu generieren, die aktualisiert werden müssen:

    SELECT CONCAT('ALTER TABLE `', table_schema, '`.`', table_name, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS execute_sql
    FROM information_schema.tables
    WHERE table_schema = '[database_name]' AND table_type = 'BASE TABLE'
    ORDER BY table_name DESC;
    Nach dem Login kopieren
  1. Wobei [Datenbankname] die Datenbank ist Der Name muss umgewandelt werden.

Kopieren Sie die Ergebnisse in ein Terminal und führen Sie sie aus, um alle Tabellen in die neue Kodierung zu konvertieren. Wie unten gezeigt:

    ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    ...
    Nach dem Login kopieren
  1. Schritt 5: Testen Sie die Änderungen
Nachdem Sie alle Tabellen konvertiert haben, müssen Sie testen, ob die Änderungen erfolgreich waren. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass das Codierungsformat aller Tabellen aktualisiert wurde:

SHOW FULL COLUMNS FROM [table_name];
Nach dem Login kopieren
wobei [Tabellenname] der Name der zu testenden Tabelle ist. Dieser Befehl zeigt die Spalten und Metadaten der Tabelle an und prüft, ob in der Tabelle Daten im alten Codierungsformat vorhanden sind. Wenn die Ergebnisse korrekt erscheinen, war die Änderung erfolgreich.

Fazit

Durch Ändern des Datenbankcodierungsformats in MySQL kann sichergestellt werden, dass Sonderzeichen korrekt gespeichert und abgerufen werden können, wodurch mehrsprachige Websites und Anwendungen perfekt unterstützt werden. Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie das Codierungsformat Ihrer MySQL-Datenbank problemlos ändern und Datenverlust oder -beschädigung vermeiden.

Das obige ist der detaillierte Inhalt vonÄndern Sie die MySQL-Datenbankkodierung. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!