Hvis du bytter WordPress-installasjonen fra en MySQL 8-server til MySQL 5.7 (eller lavere), vil du mest sannsynlig støte på 1273 - Ukjent sammenstilling: 'utf8mb4_0900_ai_ci'
feil når du prøver å importere databasen. Uansett hvilke verktøy du bruker til å importere eller eksportere databasen, kan du ikke unnslippe denne feilen.
Men hvis du tidligere har kjørt bloggen din på en MySQL 5.7-server og nylig byttet til en MySQL 8, men nå bytter tilbake til MySQL 5.7, så er de viktigste WordPress-tabellene (innlegg, taksonomier, alternativer, kommentarer osv.) og eventuelle plugins du installerte på MySQL 5.7-serveren skal fortsatt bruke "utf8mb4_unicode_520_ci"-kollasjonen.
Du kan importere alle tabeller fra databasen din som bruker "utf8mb4_unicode_520_ci"-kollasjonen. Så det du trenger å gjøre er å finne tabellene i databasen din som bruker "utf8mb4_0900_ai_ci"-kollasjon og ekskludere dem fra den eksporterte databasesikkerhetskopieringsfilen.
🔎 Finn hvilke tabeller som bruker "utf8mb4_0900_ai_ci"-kollasjonen
Du må finne hvilke tabeller i databasen som bruker "utf8mb4_0900_ai_ci"-kollasjonen slik at vi kan ekskludere disse tabellene når du eksporterer databasen.
Hvis du har SSH-tilgang til serveren og databasetilgangslegitimasjonen (som du helt kan få fra filen wp-config.php), kan du kjøre følgende kommando for enkelt å finne tabellene med "utf8mb4_0900_ai_ci"-kollasjon.
mysqlshow -u brukernavn -p --statusdatabase | grep "utf8mb4_0900_ai_ci"
? Bytt ut brukernavn
og database
med din database og brukernavn i kommandoen ovenfor.
Skriv inn brukerpassordet for databasen når du blir bedt om det Oppgi passord:
og du vil ha listen over tabeller som bruker "utf8mb4_0900_ai_ci"-kollasjonen i databasen din.
Tabellene som bruker "utf8mb4_0900_ai_ci"-kollasjon bør kun være av plugins som du installerte etter å ha byttet over til MySQL 8. Skriv ned navnene på tabellene slik at du kan ekskludere dem neste gang du eksporterer databasen.
💡 Tips
Hvis du ikke har SSH-tilgang til serveren, last ned .sql-databasefilen på datamaskinen din og åpne den med et tekstredigeringsprogram som Notepad++ og bruk søkefunksjonen (Ctrl +F) for å finne hvilke tabeller som bruker "utf8mb4_0900_ai_ci" sammenstilling.
Eksporter database unntatt "utf8mb4_0900_ai_ci" sorteringstabeller
Nå som du har navnene på tabellene ved hjelp av "utf8mb4_0900_ai_ci"-kollasjon, kan du eksportere en ny databasesikkerhetskopieringsfil som ikke inkluderer "utf8mb4_0900_ai_ci"-tabellene, slik at du kan importere den til en WordPress-installasjon som kjører på en MySQL 5.7-server.
Forutsatt at du allerede bruker WP-CLI til å eksportere/importere WordPress-databasen, kjør følgende kommando for å eksportere databasen din mens du ekskluderer noen av tabellene.
wp db eksport --exclude_tables=tabellnavn, tabellnavn, tabellnavn
? Erstatte tabellnavn
i kommandoen ovenfor med de faktiske navnene på tabellene som bruker "utf8mb4_0900_ai_ci"-kollasjon.
Det er det. Du kan nå enkelt importere WordPress-databasen din til den nye serveren som kjører MySQL 5.7.
? Viktig notat
For databasetabeller som du ekskluderte fra sikkerhetskopien, sørg for å manuelt gjenopprette dataene på den nye serveren. Siden disse tabellene kun består av plugin-moduler, må du sjekke om disse pluginene tilbyr en måte å eksportere data i plugin-innstillingene eller omkonfigurere plugin-en på den nye serveren på samme måte som den ble satt opp på den gamle serveren.