Com solucionar l'error de col·lació "utf8mb4_0900_ai_ci" en importar la base de dades de WordPress

Si canvieu la vostra instal·lació de WordPress d'un servidor MySQL 8 a MySQL 5.7 (o inferior), el més probable és que us trobeu amb el 1273 – Col·lació desconeguda: ‘utf8mb4_0900_ai_ci’ error en intentar importar la base de dades. Independentment de les eines que utilitzeu per importar o exportar la base de dades, no podeu escapar d'aquest error.

Tanmateix, si abans heu executat el vostre bloc en un servidor MySQL 5.7 i recentment heu canviat a un MySQL 8, però ara torneu a MySQL 5.7, aleshores les taules bàsiques de WordPress (entrades, taxonomies, opcions, comentaris, etc.) i qualsevol complement. que heu instal·lat al servidor MySQL 5.7 encara hauria d'utilitzar la intercalació “utf8mb4_unicode_520_ci”.

Podeu importar totes les taules de la vostra base de dades que utilitza la intercalació “utf8mb4_unicode_520_ci”. Per tant, el que heu de fer és trobar les taules de la vostra base de dades que utilitza la col·lació "utf8mb4_0900_ai_ci" i excloure-les del fitxer de còpia de seguretat de la base de dades exportada.

🔎 Cerqueu quines taules utilitzen la classificació "utf8mb4_0900_ai_ci"

Heu de trobar quines taules de la vostra base de dades utilitzen la intercalació "utf8mb4_0900_ai_ci" perquè puguem excloure aquestes taules quan exportem la base de dades.

Si teniu accés SSH al servidor i les credencials d'accés a la base de dades (que podeu obtenir totalment des del fitxer wp-config.php), podeu executar l'ordre següent per trobar fàcilment les taules amb la intercalació "utf8mb4_0900_ai_ci".

mysqlshow -u nom d'usuari -p --status base de dades | grep "utf8mb4_0900_ai_ci"

? Substituïu el nom d'usuari i base de dades amb la vostra base de dades i nom d'usuari a l'ordre anterior.

Introduïu la vostra contrasenya d'usuari de la base de dades quan se us demani Introduir la contrasenya: i tindreu la llista de taules amb la intercalació "utf8mb4_0900_ai_ci" a la vostra base de dades.

Les taules que utilitzen la classificació “utf8mb4_0900_ai_ci” només haurien de ser dels connectors que hàgiu instal·lat després de canviar a MySQL 8. Anoteu els noms de les taules perquè pugueu excloure-les la propera vegada que exporteu la vostra base de dades.

💡 Consell

Si no teniu accés SSH al servidor, descarregueu el fitxer de base de dades .sql al vostre ordinador i obriu-lo amb un editor de text com Notepad++ i utilitzeu la funció de cerca (Ctrl + F) per trobar quines taules utilitzen el "utf8mb4_0900_ai_ci" col·lació.

Exporta la base de dades excloent les taules de col·locació "utf8mb4_0900_ai_ci".

Ara que teniu els noms de les taules amb la intercalació "utf8mb4_0900_ai_ci", podeu exportar un nou fitxer de còpia de seguretat de la base de dades que no inclogui les taules "utf8mb4_0900_ai_ci" perquè pugueu importar-lo a una instal·lació de WordPress que s'executa en un servidor MySQL 5.7.

Suposant que ja utilitzeu WP-CLI per exportar/importar la base de dades de WordPress, executeu l'ordre següent per exportar la vostra base de dades tot excloent algunes de les taules.

wp db export --exclude_tables=nom_taula, nom_taula, nom_taula

? Substitueix nom_taula a l'ordre anterior amb els noms reals de les taules que utilitza la col·lació "utf8mb4_0900_ai_ci".

Això és. Ara podeu importar fàcilment la vostra base de dades de WordPress al nou servidor que executa MySQL 5.7.

? Nota important

Per a les taules de bases de dades que heu exclòs de la còpia de seguretat, assegureu-vos de tornar a crear manualment les seves dades al servidor nou. Com que aquestes taules són només de connectors, comproveu si aquests connectors ofereixen una manera d'exportar dades a la configuració del connector o, si no, torneu a configurar el connector al nou servidor de la mateixa manera que es va configurar al servidor antic.