Lajitteluvirheen "utf8mb4_0900_ai_ci" korjaaminen WordPress-tietokannan tuonnissa

Jos vaihdat WordPress-asennusta MySQL 8 -palvelimesta MySQL 5.7:ään (tai vanhempiin), kohtaat todennäköisesti 1273 – Tuntematon lajittelu: "utf8mb4_0900_ai_ci" virhe yritettäessä tuoda tietokantaa. Riippumatta siitä, mitä työkaluja käytät tietokannan tuontiin tai vientiin, et voi välttää tätä virhettä.

Jos kuitenkin olet aiemmin ajanut blogia MySQL 5.7 -palvelimella ja äskettäin vaihtanut MySQL 8:aan, mutta nyt vaihdat takaisin MySQL 5.7:ään, WordPressin ydintaulukot (viestit, taksonomiat, asetukset, kommentit jne.) ja mahdolliset lisäosat Asensit MySQL 5.7 -palvelimelle, pitäisi silti käyttää lajittelua "utf8mb4_unicode_520_ci".

Voit tuoda kaikki taulukot tietokannastasi, joka käyttää lajittelua "utf8mb4_unicode_520_ci". Joten sinun on löydettävä tietokannastasi taulukot, jotka käyttävät lajittelua "utf8mb4_0900_ai_ci", ja jättää ne pois viedystä tietokannan varmuuskopiotiedostosta.

🔎 Selvitä, mitkä taulukot käyttävät lajittelua "utf8mb4_0900_ai_ci"

Sinun on selvitettävä, mitkä tietokannan taulukot käyttävät lajittelua "utf8mb4_0900_ai_ci", jotta voimme sulkea kyseiset taulukot pois vietäessä tietokantaa.

Jos sinulla on SSH-yhteys palvelimeen ja tietokannan käyttöoikeustiedot (jonka saat kokonaan wp-config.php-tiedostosta), voit suorittaa seuraavan komennon löytääksesi helposti taulukot "utf8mb4_0900_ai_ci" -lajittelulla.

mysqlshow -u käyttäjätunnus -p --tilatietokanta | grep "utf8mb4_0900_ai_ci"

? Korvata käyttäjätunnus ja tietokanta tietokantasi ja käyttäjänimesi kanssa yllä olevassa komennossa.

Anna tietokannan käyttäjän salasana pyydettäessä Kirjoita salasana: ja sinulla on luettelo taulukoista, jotka käyttävät tietokannassasi lajittelua "utf8mb4_0900_ai_ci".

Taulukoiden, joissa käytetään ”utf8mb4_0900_ai_ci” -lajittelua, tulee olla vain lisäosia, jotka asensit vaihtamisen jälkeen MySQL 8:aan. Kirjoita taulukoiden nimet muistiin, jotta voit sulkea ne pois, kun seuraavan kerran viet tietokannan.

💡 Vinkki

Jos sinulla ei ole SSH-pääsyä palvelimeen, lataa .sql-tietokantatiedosto tietokoneellesi ja avaa se tekstieditorilla, kuten Notepad++, ja käytä hakutoimintoa (Ctrl + F) löytääksesi mitkä taulukot käyttävät "utf8mb4_0900_ai_ci". lajittelu.

Vie tietokanta ilman "utf8mb4_0900_ai_ci" lajittelutaulukoita

Nyt kun sinulla on "utf8mb4_0900_ai_ci" -lajittelua käyttävien taulukoiden nimet, voit viedä uuden tietokannan varmuuskopiotiedoston, joka ei sisällä "utf8mb4_0900_ai_ci" -taulukoita, jotta voit tuoda sen WordPress-asennukseen, joka toimii MySQL 5.7 -palvelimella.

Olettaen, että käytät jo WP-CLI:tä WordPress-tietokannan viemiseen/tuomiseen, vie tietokanta suorittamalla seuraava komento ja sulje pois jotkin taulukot.

wp db export --exclude_tables=taulukon_nimi,taulukon_nimi,taulukon_nimi

? Korvata taulukon_nimi yllä olevassa komennossa taulukkojen todellisilla nimillä, jotka käyttävät lajittelua "utf8mb4_0900_ai_ci".

Se siitä. Voit nyt helposti tuoda WordPress-tietokantasi uudelle palvelimelle, jossa on käytössä MySQL 5.7.

? Tärkeä muistiinpano

Jos olet jättänyt pois varmuuskopiosta tietokantataulukot, muista luoda niiden tiedot manuaalisesti uudelleen uudelle palvelimelle. Koska nämä taulukot ovat vain laajennuksia, tarkista, tarjoavatko nämä lisäosat tavan viedä tietoja laajennuksen asetuksista tai muuten määritä laajennus uudelleen uudella palvelimella samalla tavalla kuin se määritettiin vanhalle palvelimelle.