(Resolvido) COLATIVO DESCONHECIDO UTF8MB4_0900_AI_CI

(Resolvido) COLATIVO DESCONHECIDO UTF8MB4_0900_AI_CI

Um agrupamento é um conjunto de regras que define como comparar e classificar strings de caracteres em um servidor de banco de dados. Neste tutorial, estamos discutindo um erro enfrentado durante a restauração do banco de dados em outro servidor.

Vamos ver o problema e a solução para o problema enfrentado recentemente:

Problema

Durante a migração de um aplicativo da web, recebi o erro abaixo ao restaurar um banco de dados em outro servidor. O ID de agrupamento pode diferir com base na versão MySQL.

Mensagem de erro:

Erro 1273 (HY000) Na linha 25 Agrupamento desconhecido: 'UTF8MB4_0900_AI_CI' 

Veja a captura de tela de erro durante a restauração do banco de dados.

Aqui está você com uma solução.

Solução

Após um pouco de investigação, descobri que o servidor MySQL em execução no destino é uma versão mais antiga do que a fonte. Então, conseguimos que o servidor de destino não contenha o agrupamento de banco de dados necessário.

Então fazemos um pequeno ajuste no arquivo de backup para resolver isso. Edite o arquivo de backup do banco de dados no editor de texto e substitua “UTF8MB4_0900_AI_CI" com "utf8mb4_general_ci" e "Charset = utf8mb4" com "Charset = utf8““.

Substitua a string abaixo:

Mecanismo = innodb padrão padrão = utf8mb4 colate = utf8mb4_0900_ai_ci; 

com:

Mecanismo = innodb padrão padrão = utf8 colate = utf8_general_ci; 

Salve seu arquivo e restaure o banco de dados.

Os usuários do sistema Linux podem usar o comando sed para substituir o texto diretamente nos arquivos.

sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' backup.SQL  sed -i 's/charset = utf8mb4/charset = utf8/g' backup.SQL  

Que isso. Após as mudanças acima, o banco de dados foi restaurado com sucesso!

Espero que essa solução tenha ajudado você a resolver “Agrupamento desconhecido: 'utf8mb4_0900_ai_ci'" emitir.