Como corrigir erro de agrupamento “utf8mb4_0900_ai_ci” ao importar banco de dados WordPress

Se você estiver mudando sua instalação do WordPress de um servidor MySQL 8 para MySQL 5.7 (ou inferior), provavelmente encontrará o 1273 - agrupamento desconhecido: ‘utf8mb4_0900_ai_ci’ erro ao tentar importar o banco de dados. Não importa quais ferramentas você usa para importar ou exportar o banco de dados, você não pode escapar desse erro.

No entanto, se você já executou seu blog em um servidor MySQL 5.7 e recentemente mudou para MySQL 8, mas agora está voltando para MySQL 5.7, as tabelas principais do WordPress (postagens, taxonomias, opções, comentários, etc.) e quaisquer plug-ins você instalou no servidor MySQL 5.7 ainda deve estar usando o agrupamento “utf8mb4_unicode_520_ci”.

Você pode importar todas as tabelas de seu banco de dados que usa o agrupamento “utf8mb4_unicode_520_ci”. Portanto, o que você precisa fazer é encontrar as tabelas em seu banco de dados que usam agrupamento “utf8mb4_0900_ai_ci” e excluí-las do arquivo de backup do banco de dados exportado.

🔎 Descubra quais tabelas usam o agrupamento “utf8mb4_0900_ai_ci”

Você precisa descobrir quais tabelas em seu banco de dados usam o agrupamento “utf8mb4_0900_ai_ci” para que possamos excluir essas tabelas ao exportar o banco de dados.

Se você tiver acesso SSH ao servidor e as credenciais de acesso ao banco de dados (que você pode obter totalmente no arquivo wp-config.php), você pode executar o seguinte comando para localizar facilmente as tabelas com o agrupamento “utf8mb4_0900_ai_ci”.

mysqlshow -u username -p --status database | grep "utf8mb4_0900_ai_ci"

? Substitua o nome do usuário e base de dados com seu banco de dados e nome de usuário no comando acima.

Digite sua senha de usuário do banco de dados quando solicitado para Digite a senha: e você terá a lista de tabelas usando o agrupamento “utf8mb4_0900_ai_ci” em seu banco de dados.

As tabelas usando o agrupamento “utf8mb4_0900_ai_ci” devem ser de plug-ins que você instalou após mudar para o MySQL 8. Anote os nomes das tabelas para que possa excluí-los na próxima vez que exportar seu banco de dados.

💡 Dica

Se você não acessar o servidor por SSH, baixe o arquivo de banco de dados .sql em seu computador e abra-o com um editor de texto como o Notepad ++ e use a função de pesquisa (Ctrl + F) para encontrar quais tabelas usam o “utf8mb4_0900_ai_ci” agrupamento.

Exportar banco de dados, excluindo tabelas de intercalação “utf8mb4_0900_ai_ci”

Agora que você tem os nomes das tabelas usando o agrupamento “utf8mb4_0900_ai_ci”, pode exportar um novo arquivo de backup de banco de dados que não inclui as tabelas “utf8mb4_0900_ai_ci” para que possa importá-lo para uma instalação WordPress em execução em um servidor MySQL 5.7.

Assumindo que você já usa WP-CLI para exportar / importar banco de dados WordPress, execute o seguinte comando para exportar seu banco de dados enquanto exclui algumas das tabelas.

wp db export --exclude_tables = table_name, table_name, table_name

? Substituir Nome da tabela no comando acima com os nomes reais das tabelas que usam o agrupamento “utf8mb4_0900_ai_ci”.

É isso. Agora você pode importar facilmente seu banco de dados WordPress para o novo servidor que executa o MySQL 5.7.

? Nota importante

Para tabelas de banco de dados que você excluiu do backup, certifique-se de recriar manualmente seus dados no novo servidor. Como essas tabelas são apenas de plug-ins, verifique se esses plug-ins oferecem uma maneira de exportar dados nas configurações do plug-in ou reconfigure o plug-in no novo servidor da mesma forma que foi configurado no servidor antigo.