Cum să remediați eroarea de colare „utf8mb4_0900_ai_ci” la importul bazei de date WordPress

Dacă vă schimbați instalarea WordPress de la un server MySQL 8 la MySQL 5.7 (sau mai jos), cel mai probabil veți întâlni 1273 – Colație necunoscută: „utf8mb4_0900_ai_ci” eroare când încercați să importați baza de date. Indiferent de instrumentele pe care le utilizați pentru a importa sau exporta baza de date, nu puteți scăpa de această eroare.

Cu toate acestea, dacă ați rulat anterior blogul pe un server MySQL 5.7 și recent ați trecut la un MySQL 8, dar acum ați revenit la MySQL 5.7, atunci tabelele WordPress de bază (postări, taxonomii, opțiuni, comentarii etc.) și orice pluginuri pe care l-ați instalat pe serverul MySQL 5.7 ar trebui să folosească în continuare colarea „utf8mb4_unicode_520_ci”.

Puteți importa toate tabelele din baza de date care utilizează colarea „utf8mb4_unicode_520_ci”. Deci, ceea ce trebuie să faceți este să găsiți tabelele din baza de date care utilizează colarea „utf8mb4_0900_ai_ci” și să le excludeți din fișierul de backup al bazei de date exportat.

🔎 Găsiți ce tabele folosesc colarea „utf8mb4_0900_ai_ci”

Trebuie să găsiți ce tabele din baza dvs. de date utilizează colarea „utf8mb4_0900_ai_ci”, astfel încât să putem exclude acele tabele atunci când exportăm baza de date.

Dacă aveți acces SSH la server și acreditările de acces la baza de date (pe care îl puteți obține complet din fișierul wp-config.php), puteți rula următoarea comandă pentru a găsi cu ușurință tabelele cu colaționare „utf8mb4_0900_ai_ci”.

mysqlshow -u nume utilizator -p --status baza de date | grep "utf8mb4_0900_ai_ci"

? Inlocuieste nume de utilizator și Bază de date cu baza de date și numele de utilizator în comanda de mai sus.

Introduceți parola de utilizator al bazei de date când vi se solicită Introdu parola: și veți avea lista de tabele folosind colarea „utf8mb4_0900_ai_ci” în baza de date.

Tabelele care folosesc colarea „utf8mb4_0900_ai_ci” ar trebui să fie doar din pluginuri pe care le-ați instalat după trecerea la MySQL 8. Notați numele tabelelor, astfel încât să le puteți exclude data viitoare când exportați baza de date.

💡 Sfat

Dacă nu aveți acces SSH la server, descărcați fișierul bazei de date .sql pe computer și deschideți-l cu un editor de text precum Notepad++ și utilizați funcția de căutare (Ctrl +F) pentru a găsi ce tabele utilizează „utf8mb4_0900_ai_ci” colaţionare.

Exportați baza de date, excluzând tabelele de colare „utf8mb4_0900_ai_ci”.

Acum că aveți numele tabelelor folosind colarea „utf8mb4_0900_ai_ci”, puteți exporta un nou fișier de backup al bazei de date care nu include tabelele „utf8mb4_0900_ai_ci”, astfel încât să îl puteți importa într-o instalare WordPress care rulează pe un server MySQL 5.7.

Presupunând că utilizați deja WP-CLI pentru a exporta/importa baza de date WordPress, executați următoarea comandă pentru a vă exporta baza de date, excluzând unele dintre tabele.

wp db export --exclude_tables=nume_tabel, nume_tabel, nume_tabel

? A inlocui table_name în comanda de mai sus cu numele reale ale tabelelor care utilizează colarea „utf8mb4_0900_ai_ci”.

Asta e. Acum puteți importa cu ușurință baza de date WordPress pe noul server care rulează MySQL 5.7.

? Notă importantă

Pentru tabelele de baze de date pe care le-ați exclus din backup, asigurați-vă că le-ați recreat manual datele pe noul server. Deoarece aceste tabele sunt numai pentru pluginuri, verificați dacă aceste pluginuri oferă o modalitate de a exporta date în setările pluginului sau reconfigurați pluginul pe noul server în același mod în care a fost configurat pe serverul vechi.