sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql
Nabil Kadimi
4
Em um mar de soluções de busca e substituição abaixo, não se esqueça de verificar a resposta de @ SherylHohman primeiro - basta atualizar para o mariadb / mysql 5.6 para que seu servidor suporte esse agrupamento.
A solução abaixo do @Sabba Keynejad é melhor na minha opinião, uma vez que mantém o mb4, você deve tentar isso primeiro.
Maor Barazany 2/17/17
Note, eu tive que substituir isso em vários lugares no arquivo SQL. Também houve lugares em que eu tive que fazer stackoverflow.com/a/44122258/1436129 abaixo também.
Aubreypwd
Na verdade, essa resposta funcionou quando a resposta vinculada de Sabba não funcionou. Presumivelmente por causa dos meus padrões de instalação do MySql. +1
Gone Coding
não está funcionando, agora está dando erro COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' :, substituí utf8mb4_unicode_520_cipor utf8mb4_unicode_cie está funcionando, conforme resposta do Sabba.
Haritsinh Gohil
286
Acredito que esse erro foi causado porque o servidor local e o servidor ativo estão executando versões diferentes do MySQL. Para resolver isso:
Abra o arquivo sql no seu editor de texto
Encontre e substitua tudo utf8mb4_unicode_520_ciporutf8mb4_unicode_ci
@ John, os artigos que você vinculou realmente não defendem esse comentário. O "Assim" deles nem mesmo pode ser afirmado adequadamente a partir de sua premissa. No geral, o artigo inteiro está mal escrito, embora pareça haver boas informações. O agrupamento 520 usa uma versão mais recente do Algoritmo de Collation Unicode (UCA - versão 5.2.0) com pesos diferentes, mas dizer que "tem um suporte UTF-8 muito melhor" parece mais que um exagero.
Gremio
Vamos supor que um corpo de padrões (Unicode) geralmente torne cada versão mais nova (5.20) "melhor" que uma versão mais antiga (4.0).
Rick James
Esta é a melhor resposta.
Niby
Sugiro esta solução porque ela substitui todas as ocorrências "utf8mb4_unicode_520_ci". Considerando savip sandip resposta deixa alguns.
Rakesh
49
No meu caso, o meu
novo servidor estava em execução MySQL 5.5, o
servidor antigo estava em execução MySQL 5.6.
Então, recebi esse erro ao tentar importar o .sqlarquivo que havia exportado do meu servidor antigo.
O MySQL 5.5 não suporta utf8mb4_unicode_520_ci, mas o
MySQL 5.6 sim.
A atualização para MySQL 5.6o novo servidor resolveu o agrupamento do erro!
Se você deseja manter o MySQL 5.5, você pode:
- fazer uma cópia do seu .sqlarquivo exportado
- substituir instâncias utf8mb4unicode520_cie utf8mb4_unicode_520_ci
... por utf8mb4_unicode_ci
- importar seu .sqlarquivo atualizado .
Esta é absolutamente a melhor maneira de fazer isso se você tiver controle total sobre o seu servidor. Atualize o novo servidor para que ele corresponda ao servidor antigo. Se você não tiver acesso para atualizar o novo local do servidor, o método find-replace provavelmente estará ok, mas em qualquer caso em que você possa fazer essa atualização, deve fazê-lo.
Squarecandy 6/05/19
1
5.6 é quando 520 foi adicionado.
Rick James
Essa deve ser a resposta correta. A maioria das outras soluções é mais parecida com hacks. Obrigado @SherylHohman
Estou muito feliz por ter encontrado sua solução para isso, estou recebendo esse erro # 1273 há dias e simplesmente não consegui encontrar uma solução para isso
Obtendo o erro de agrupamento # 1273 - Agrupamento desconhecido: 'utf8mb4_unicode_520_ci' é causado pela diferença da versão do MySQL da qual você exporta e do nosso servidor MySQL para o qual você importa. Basicamente, a biblioteca do Wordpress para a versão mais recente verifica em qual versão do SQL seu site está sendo executado. Se ele usa o MySQL versão 5.6 ou mais, ele assume o uso de um novo e aprimorado Algoritmo de Collation Unicode (UCA) chamado “utf8mb4_unicode_520_ci”. Isso é ótimo, a menos que você acabe movendo o site WordPress de uma versão 5.6 mais recente do MySQL para uma versão anterior do MySQL anterior à 5.6.
Para resolver isso, você precisará editar seu arquivo de exportação SQL e fazer uma pesquisa e substituição, alterando todas as instâncias de 'utf8mb4_unicode_520_ci' para 'utf8mb4_unicode_ci'. Ou siga as etapas abaixo se você tiver um PHPMyAdmin:
Clique na guia Exportar para o banco de dados
Clique no botão de opção Personalizado.
Vá para a seção intitulada Opções específicas de formato e altere o menu suspenso para o sistema de banco de dados ou o servidor MySQL mais antigo para maximizar a compatibilidade de saída com: de NONE a MYSQL40.
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql
Respostas:
Você pode resolver isso encontrando
no seu
.sql
arquivo e trocando-o comfonte
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'
:, substituíutf8mb4_unicode_520_ci
porutf8mb4_unicode_ci
e está funcionando, conforme resposta do Sabba.Acredito que esse erro foi causado porque o servidor local e o servidor ativo estão executando versões diferentes do MySQL. Para resolver isso:
utf8mb4_unicode_520_ci
porutf8mb4_unicode_ci
espero que ajude
fonte
utf8mb4_unicode_520_ci
possui um suporte UTF-8 muito melhor do queutf8mb4_unicode_ci
! Molho: mysql.rjweb.org/doc.php/charcoll#best_practice com esclarecimento visual provando que 520_ci é superior aqui: mysql.rjweb.org/utf8_collations.htmlNo meu caso, o meu
novo servidor estava em execução
MySQL 5.5
, oservidor antigo estava em execução
MySQL 5.6
.Então, recebi esse erro ao tentar importar o
.sql
arquivo que havia exportado do meu servidor antigo.O MySQL 5.5 não suporta
utf8mb4_unicode_520_ci
, mas oMySQL 5.6 sim.
A atualização para
MySQL 5.6
o novo servidor resolveu o agrupamento do erro!Se você deseja manter o MySQL 5.5, você pode:
- fazer uma cópia do seu
.sql
arquivo exportado- substituir instâncias
utf8mb4unicode520_ci
eutf8mb4_unicode_520_ci
... por
utf8mb4_unicode_ci
- importar seu
.sql
arquivo atualizado .fonte
Abra o arquivo sql no seu editor de texto;
1. Pesquisa: utf8mb4_unicode_ci Substitua: utf8_general_ci (Substituir Tudo)
2. Pesquisa: utf8mb4_unicode_520_ci Substitua: utf8_general_ci (Substituir Tudo)
3. Pesquisa: utf8mb4 Substitua: utf8 (Substituir Tudo)
Salve e faça o upload!
fonte
basta remover "520_"
utf8mb4_unicode_520_ci
→utf8mb4_unicode_ci
fonte
fácil substituir
fonte
sed -i '' 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
Acabei de abrir o arquivo dump.sql no Notepad ++ e pressione CTRL + H para localizar e substituir a string " utf8mb4_0900_ai_ci " e substituí-la por " utf8mb4_general_ci ". Link de origem https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
fonte
encontre e substitua:
com
no arquivo sql inteiro
fonte
general
eutf8
são ambos os passos para trás.Tarde para a festa, mas caso isso aconteça com uma
WORDPRESS
instalação:#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
No phpmyadmin, em
export method
>Format-specific options
(exportação personalizada)Definido como :
MYSQL40
Se você tentar importar agora, poderá receber outra mensagem de erro:
1064 - You have an error in your SQL syntax; .....
Isso ocorre porque a
TYPE
opção mais antiga que era sinônimo deENGINE
foi removida no MySQL 5.5.Abre o teu
.sql
arquivo, pesquise e substitua todas as instânciasde
TYPE=
paraENGINE=
Agora a importação deve ocorrer sem problemas.
fonte
Obtendo o erro de agrupamento # 1273 - Agrupamento desconhecido: 'utf8mb4_unicode_520_ci' é causado pela diferença da versão do MySQL da qual você exporta e do nosso servidor MySQL para o qual você importa. Basicamente, a biblioteca do Wordpress para a versão mais recente verifica em qual versão do SQL seu site está sendo executado. Se ele usa o MySQL versão 5.6 ou mais, ele assume o uso de um novo e aprimorado Algoritmo de Collation Unicode (UCA) chamado “utf8mb4_unicode_520_ci”. Isso é ótimo, a menos que você acabe movendo o site WordPress de uma versão 5.6 mais recente do MySQL para uma versão anterior do MySQL anterior à 5.6.
Para resolver isso, você precisará editar seu arquivo de exportação SQL e fazer uma pesquisa e substituição, alterando todas as instâncias de 'utf8mb4_unicode_520_ci' para 'utf8mb4_unicode_ci'. Ou siga as etapas abaixo se você tiver um PHPMyAdmin:
fonte
No meu caso, substituo-o
utf8_general_ci
por sed assim:Depois disso, posso importá-lo sem nenhum problema.
fonte