Kuidas parandada WordPressi andmebaasi importimisel tekkinud võrdlemisviga "utf8mb4_0900_ai_ci"

Kui lülitate WordPressi installimise MySQL 8 serverilt MySQL 5.7 (või vanemale) versioonile, puutute tõenäoliselt kokku 1273 – tundmatu võrdlus: utf8mb4_0900_ai_ci viga andmebaasi importimisel. Olenemata sellest, milliseid tööriistu andmebaasi importimiseks või eksportimiseks kasutate, ei pääse te sellest veast mööda.

Kui olete aga varem oma ajaveebi pidanud MySQL 5.7 serveris ja hiljuti MySQL 8-le üle läinud, kuid nüüd lülitute tagasi MySQL 5.7-le, siis WordPressi põhitabelid (postitused, taksonoomiad, valikud, kommentaarid jne) ja kõik pistikprogrammid MySQL 5.7 serverisse installitud peaks siiski kasutama võrdlemist „utf8mb4_unicode_520_ci”.

Saate importida kõik tabelid oma andmebaasist, mis kasutab võrdlust "utf8mb4_unicode_520_ci". Nii et peate oma andmebaasist leidma tabelid, mis kasutavad võrdlemist "utf8mb4_0900_ai_ci", ja välistama need eksporditud andmebaasi varukoopiafailist.

🔎 Otsige üles, millised tabelid kasutavad võrdlust "utf8mb4_0900_ai_ci"

Peate leidma, millised teie andmebaasi tabelid kasutavad võrdlemist „utf8mb4_0900_ai_ci”, et saaksime need tabelid andmebaasi eksportimisel välistada.

Kui teil on SSH-juurdepääs serverile ja andmebaasile juurdepääsu mandaadid (mille saate täielikult failist wp-config.php), saate "utf8mb4_0900_ai_ci" võrdlemisega tabelite hõlpsaks leidmiseks käivitada järgmise käsu.

mysqlshow -u kasutajanimi -p --status andmebaas | grep "utf8mb4_0900_ai_ci"

? Asendage kasutajanimi ja andmebaasi oma andmebaasi ja kasutajanimega ülaltoodud käsus.

Sisestage oma andmebaasi kasutaja parool, kui seda küsitakse Sisestage parool: ja teie andmebaasis on tabelite loend, mis kasutab võrdlust "utf8mb4_0900_ai_ci".

Tabelid, mis kasutavad võrdlemist "utf8mb4_0900_ai_ci", peaksid hõlmama ainult neid pluginaid, mille installisite pärast MySQL 8-le üleminekut. Kirjutage tabelite nimed üles, et saaksite need järgmisel andmebaasi eksportimisel välistada.

💡 Näpunäide

Kui teil pole serverile SSH-juurdepääsu, laadige oma arvutisse alla .sql-i andmebaasifail ja avage see tekstiredaktoriga (nt Notepad++) ja kasutage otsingufunktsiooni (Ctrl +F), et leida, millised tabelid kasutavad faili "utf8mb4_0900_ai_ci". kõrvutamine.

Ekspordi andmebaas, välja arvatud „utf8mb4_0900_ai_ci” võrdlemistabelid

Nüüd, kui teil on "utf8mb4_0900_ai_ci" võrdlemist kasutavate tabelite nimed, saate eksportida uue andmebaasi varukoopiafaili, mis ei sisalda tabeleid "utf8mb4_0900_ai_ci", et saaksite selle importida MySQL 5.7 serveris töötavasse WordPressi installi.

Eeldades, et kasutate juba WordPressi andmebaasi eksportimiseks/importimiseks WP-CLI-d, käivitage oma andmebaasi eksportimiseks järgmine käsk, jättes mõned tabelid välja.

wp db eksport -- välista_tabelid=tabeli_nimi, tabeli_nimi, tabeli_nimi

? Asenda tabeli_nimi ülaltoodud käsus koos tabelite tegelike nimedega, mis kasutab võrdlemist "utf8mb4_0900_ai_ci".

see on kõik. Nüüd saate hõlpsalt importida oma WordPressi andmebaasi uude serverisse, kus töötab MySQL 5.7.

? Oluline märkus

Andmebaasi tabelite puhul, mille te varukoopiast välja jätsite, looge kindlasti nende andmed uues serveris käsitsi uuesti. Kuna need tabelid on ainult pistikprogrammide kohta, kontrollige, kas need pistikprogrammid pakuvad pistikprogrammi sätetes võimalust andmete eksportimiseks või konfigureerige pistikprogramm uues serveris uuesti samamoodi, nagu see oli seadistatud vanas serveris.