Kā labot “utf8mb4_0900_ai_ci” šķirošanas kļūdu, importējot WordPress datu bāzi

Ja pārslēgsit WordPress instalāciju no MySQL 8 servera uz MySQL 5.7 (vai jaunāku), visticamāk, saskarsies ar 1273 — nezināms salīdzinājums: "utf8mb4_0900_ai_ci" kļūda, mēģinot importēt datu bāzi. Neatkarīgi no tā, kādus rīkus izmantojat datu bāzes importēšanai vai eksportēšanai, jūs nevarat izvairīties no šīs kļūdas.

Tomēr, ja iepriekš esat palaidis savu emuāru MySQL 5.7 serverī un nesen pārslēdzies uz MySQL 8, bet tagad pārslēdzaties atpakaļ uz MySQL 5.7, tad WordPress galvenās tabulas (ziņas, taksonomijas, opcijas, komentāri utt.) un jebkuri spraudņi instalējāt MySQL 5.7 serverī, joprojām vajadzētu izmantot salīdzinājumu “utf8mb4_unicode_520_ci”.

Varat importēt visas tabulas no savas datu bāzes, kas izmanto salīdzinājumu “utf8mb4_unicode_520_ci”. Tātad, kas jums jādara, ir savā datu bāzē jāatrod tabulas, kurās tiek izmantots salīdzinājums “utf8mb4_0900_ai_ci”, un jāizslēdz tās no eksportētā datu bāzes dublējuma faila.

🔎 Atrodiet, kurās tabulās tiek izmantots salīdzinājums “utf8mb4_0900_ai_ci”

Jums ir jāatrod, kuras tabulas jūsu datu bāzē izmanto “utf8mb4_0900_ai_ci” salīdzinājumu, lai mēs varētu izslēgt šīs tabulas, eksportējot datu bāzi.

Ja jums ir SSH piekļuve serverim un datu bāzes piekļuves akreditācijas dati (ko jūs varat pilnībā iegūt no faila wp-config.php), varat palaist šo komandu, lai viegli atrastu tabulas ar “utf8mb4_0900_ai_ci” salīdzinājumu.

mysqlshow -u lietotājvārds -p --statusa datu bāze | grep "utf8mb4_0900_ai_ci"

? Nomainiet lietotājvārds un datu bāze ar savu datu bāzi un lietotājvārdu augstāk esošajā komandā.

Kad tas tiek prasīts, ievadiet savu datu bāzes lietotāja paroli Ievadi paroli: un jūsu datu bāzē būs tabulu saraksts, izmantojot salīdzinājumu “utf8mb4_0900_ai_ci”.

Tabulām, kurās tiek izmantota salīdzināšana “utf8mb4_0900_ai_ci”, jābūt tikai spraudņiem, kurus instalējāt pēc pārslēgšanās uz MySQL 8. Pierakstiet tabulu nosaukumus, lai nākamajā datu bāzes eksportēšanas reizē varētu tās izslēgt.

💡 Padoms

Ja jums nav SSH piekļuves serverim, lejupielādējiet .sql datu bāzes failu savā datorā un atveriet to ar teksta redaktoru, piemēram, Notepad++, un izmantojiet meklēšanas funkciju (Ctrl+F), lai atrastu, kurās tabulās tiek izmantots fails “utf8mb4_0900_ai_ci”. salīdzināšana.

Eksportējiet datu bāzi, izņemot “utf8mb4_0900_ai_ci” salīdzināšanas tabulas

Tagad, kad jums ir tabulu nosaukumi, izmantojot salīdzinājumu “utf8mb4_0900_ai_ci”, varat eksportēt jaunu datu bāzes dublējuma failu, kurā nav iekļautas tabulas “utf8mb4_0900_ai_ci”, lai varētu to importēt WordPress instalācijā, kas darbojas MySQL 5.7 serverī.

Pieņemot, ka WordPress datu bāzes eksportēšanai/importēšanai jau izmantojat WP-CLI, palaidiet šo komandu, lai eksportētu savu datu bāzi, vienlaikus izslēdzot dažas tabulas.

wp db eksports --izslēgt_tabulas=tabulas_nosaukums, tabulas_nosaukums, tabulas_nosaukums

? Aizvietot tabulas_nosaukums augstāk esošajā komandā ar to tabulu faktiskajiem nosaukumiem, kas izmanto salīdzinājumu “utf8mb4_0900_ai_ci”.

Tieši tā. Tagad varat viegli importēt savu WordPress datu bāzi jaunajā serverī, kurā darbojas MySQL 5.7.

? Svarīga piezīme

Datu bāzes tabulām, kuras izslēdzāt no dublējuma, noteikti manuāli atkārtoti izveidojiet to datus jaunajā serverī. Tā kā šīs tabulas ir paredzētas tikai spraudņiem, pārbaudiet, vai šie spraudņi piedāvā iespēju eksportēt datus spraudņa iestatījumos, vai arī pārkonfigurējiet spraudni jaunajā serverī tāpat kā tas tika iestatīts vecajā serverī.