Jak opravit chybu řazení „utf8mb4_0900_ai_ci“ při importu databáze WordPress

Pokud přecházíte svou instalaci WordPress ze serveru MySQL 8 na MySQL 5.7 (nebo nižší), s největší pravděpodobností narazíte na 1273 – Neznámé řazení: ‚utf8mb4_0900_ai_ci‘ chyba při pokusu o import databáze. Bez ohledu na to, jaké nástroje používáte k importu nebo exportu databáze, této chybě nemůžete uniknout.

Pokud jste však dříve provozovali svůj blog na serveru MySQL 5.7 a nedávno jste přešli na MySQL 8, ale nyní přecházíte zpět na MySQL 5.7, pak základní tabulky WordPress (příspěvky, taxonomie, možnosti, komentáře atd.) a jakékoli pluginy nainstalovaný na serveru MySQL 5.7 by měl stále používat řazení „utf8mb4_unicode_520_ci“.

Můžete importovat všechny tabulky ze své databáze, která používá řazení „utf8mb4_unicode_520_ci“. Takže co musíte udělat, je najít tabulky ve vaší databázi, která používá porovnávání „utf8mb4_0900_ai_ci“ a vyloučit je z exportovaného záložního souboru databáze.

🔎 Zjistěte, které tabulky používají porovnávání „utf8mb4_0900_ai_ci“

Musíte zjistit, které tabulky ve vaší databázi používají řazení „utf8mb4_0900_ai_ci“, abychom mohli tyto tabulky při exportu databáze vyloučit.

Pokud máte přístup SSH k serveru a přihlašovací údaje pro přístup k databázi (který můžete zcela získat ze souboru wp-config.php), můžete spustit následující příkaz a snadno najít tabulky s řazením „utf8mb4_0900_ai_ci“.

mysqlshow -u uživatelské jméno -p --databáze stavu | grep "utf8mb4_0900_ai_ci"

? Nahradit uživatelské jméno a databáze s vaší databází a uživatelským jménem v příkazu výše.

Po zobrazení výzvy zadejte heslo uživatele databáze Zadejte heslo: a ve své databázi budete mít seznam tabulek pomocí porovnávání „utf8mb4_0900_ai_ci“.

Tabulky používající porovnávání „utf8mb4_0900_ai_ci“ by měly obsahovat pouze pluginy, které jste nainstalovali po přechodu na MySQL 8. Zapište si názvy tabulek, abyste je mohli při příštím exportu databáze vyloučit.

💡 Tip

Pokud nemáte SSH přístup k serveru, stáhněte si databázový soubor .sql do svého počítače a otevřete jej v textovém editoru, jako je Notepad++, a pomocí vyhledávací funkce (Ctrl +F) zjistěte, které tabulky používají „utf8mb4_0900_ai_ci“ řazení.

Exportujte databázi s výjimkou porovnávacích tabulek „utf8mb4_0900_ai_ci“.

Nyní, když máte názvy tabulek pomocí řazení „utf8mb4_0900_ai_ci“, můžete exportovat nový záložní soubor databáze, který neobsahuje tabulky „utf8mb4_0900_ai_ci“, takže jej můžete importovat do instalace WordPress běžící na serveru MySQL 5.7.

Za předpokladu, že již používáte WP-CLI k exportu/importu databáze WordPress, spusťte následující příkaz pro export databáze a vynechejte některé tabulky.

wp db export --exclude_tables=název_tabulky,název_tabulky,název_tabulky

? Nahradit název_tabulky v příkazu výše se skutečnými názvy tabulek, které používají řazení „utf8mb4_0900_ai_ci“.

A je to. Nyní můžete snadno importovat svou databázi WordPress na nový server s MySQL 5.7.

? Důležitá poznámka

U databázových tabulek, které jste vyloučili ze zálohy, nezapomeňte ručně znovu vytvořit jejich data na novém serveru. Protože tyto tabulky obsahují pouze pluginy, zkontrolujte, zda tyto pluginy nabízejí způsob exportu dat v nastavení pluginu nebo jinak překonfigurujte plugin na novém serveru stejným způsobem, jako byl nastaven na starém serveru.