So beheben Sie den Sortierfehler „utf8mb4_0900_ai_ci“ beim Importieren der WordPress-Datenbank

Wenn Sie Ihre WordPress-Installation von einem MySQL 8-Server auf MySQL 5.7 (oder niedriger) umstellen, werden Sie höchstwahrscheinlich auf die 1273 – Unbekannte Kollatierung: ‘utf8mb4_0900_ai_ci’ Fehler beim Versuch, die Datenbank zu importieren. Egal, welche Tools Sie zum Importieren oder Exportieren der Datenbank verwenden, Sie können diesem Fehler nicht entgehen.

Wenn Sie Ihr Blog jedoch zuvor auf einem MySQL 5.7-Server betrieben haben und kürzlich auf MySQL 8 umgestiegen sind, jetzt aber wieder auf MySQL 5.7 wechseln, dann die Kern-WordPress-Tabellen (Posts, Taxonomien, Optionen, Kommentare usw.) und alle Plugins Sie auf dem MySQL 5.7-Server installiert haben, sollten immer noch die Kollatierung „utf8mb4_unicode_520_ci“ verwenden.

Sie können alle Tabellen aus Ihrer Datenbank importieren, die die Kollatierung „utf8mb4_unicode_520_ci“ verwenden. Sie müssen also die Tabellen in Ihrer Datenbank finden, die die Kollatierung „utf8mb4_0900_ai_ci“ verwenden, und sie aus der exportierten Datenbank-Sicherungsdatei ausschließen.

🔎 Finden Sie heraus, welche Tabellen die Kollation „utf8mb4_0900_ai_ci“ verwenden

Sie müssen herausfinden, welche Tabellen in Ihrer Datenbank die Kollatierung „utf8mb4_0900_ai_ci“ verwenden, damit wir diese Tabellen beim Exportieren der Datenbank ausschließen können.

Wenn Sie SSH-Zugriff auf den Server und die Zugangsdaten für den Datenbankzugriff haben (die Sie vollständig aus der Datei wp-config.php erhalten können), können Sie den folgenden Befehl ausführen, um die Tabellen mit der Sortierung „utf8mb4_0900_ai_ci“ leicht zu finden.

mysqlshow -u Benutzername -p --status database | grep "utf8mb4_0900_ai_ci"

? Ersetze das Nutzername und Datenbank mit Ihrer Datenbank und Ihrem Benutzernamen im obigen Befehl.

Geben Sie Ihr Datenbankbenutzerkennwort ein, wenn Sie dazu aufgefordert werden Passwort eingeben: und Sie haben die Liste der Tabellen mit der Kollatierung „utf8mb4_0900_ai_ci“ in Ihrer Datenbank.

Die Tabellen, die die Kollatierung „utf8mb4_0900_ai_ci“ verwenden, sollten nur aus Plugins bestehen, die Sie nach der Umstellung auf MySQL 8 installiert haben. Notieren Sie sich die Namen der Tabellen, damit Sie sie beim nächsten Export Ihrer Datenbank ausschließen können.

💡 Tipp

Wenn Sie keinen SSH-Zugriff auf den Server haben, laden Sie die .sql-Datenbankdatei auf Ihren Computer herunter und öffnen Sie sie mit einem Texteditor wie Notepad++ und verwenden Sie die Suchfunktion (Strg + F), um herauszufinden, welche Tabellen das „utf8mb4_0900_ai_ci“ verwenden. Kollation.

Datenbank ohne Kollatierungstabellen „utf8mb4_0900_ai_ci“ exportieren

Nachdem Sie nun die Namen der Tabellen mit der Kollatierung „utf8mb4_0900_ai_ci“ haben, können Sie eine neue Datenbank-Sicherungsdatei exportieren, die die Tabellen „utf8mb4_0900_ai_ci“ nicht enthält, sodass Sie sie in eine WordPress-Installation importieren können, die auf einem MySQL 5.7-Server läuft.

Angenommen, Sie verwenden bereits WP-CLI zum Exportieren/Importieren der WordPress-Datenbank, führen Sie den folgenden Befehl aus, um Ihre Datenbank zu exportieren, während Sie einige der Tabellen ausschließen.

wp db export --exclude_tables=table_name,table_name,table_name

? Ersetzen Tabellenname im obigen Befehl mit den tatsächlichen Namen der Tabellen, die die Kollatierung „utf8mb4_0900_ai_ci“ verwenden.

Das ist es. Sie können Ihre WordPress-Datenbank jetzt ganz einfach auf den neuen Server mit MySQL 5.7 importieren.

? Wichtiger Hinweis

Stellen Sie bei Datenbanktabellen, die Sie von der Sicherung ausgeschlossen haben, sicher, dass Sie deren Daten auf dem neuen Server manuell neu erstellen. Da diese Tabellen nur aus Plugins bestehen, prüfen Sie, ob diese Plugins eine Möglichkeit zum Exportieren von Daten in den Plugin-Einstellungen bieten, oder konfigurieren Sie das Plugin auf dem neuen Server so neu, wie es auf dem alten Server eingerichtet wurde.