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.