2
respostas

DatabaseError

Prezados,

Após revisão de todas as respostas no forum não encontrei solução para o meu problema. Revisei todas as instalações (pip install) e conferi todo o script, ajustando corretamente usuario e senha. Mas continuo com este erro no endereço principal localhost.

DatabaseError
sqlalchemy.exc.DatabaseError: (mysql.connector.errors.DatabaseError) 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'
(Background on this error at: https://sqlalche.me/e/20/4xp6)
2 respostas

Olá Rodrigo, tudo bem com você?

O erro apresentado está relacionado à collation utilizada em seu banco de dados MySQL. A collation é responsável por definir como os dados são armazenados e ordenados em uma tabela, e o erro indica que a collation utf8mb4_0900_ai_ci não é reconhecida pelo MySQL.

Podemo realizar a alteração da collation utilizada em sua conexão com o banco de dados. Para isso, no arquivo jogoteca.py abaixo da seguinte linha: app.secret_key = 'alura' adicione o seguinte parâmetro ao seu código:

app.config['MYSQL_DATABASE_CHARSET'] = 'utf8mb4'

Esse parâmetro irá definir a collation utilizada em todas as suas consultas ao banco de dados como utf8mb4, que é a collation recomendada para trabalhar com caracteres unicode.

Caso a solução apresentada acima não funcione, é possível que o problema esteja relacionado à versão do MySQL que você está utilizando. A collation utf8mb4_0900_ai_ci foi adicionada ao MySQL na versão 8.0.1, então se você estiver utilizando uma versão anterior a essa, pode ser que a collation não esteja disponível. Nesse caso, você pode atualizar a sua versão do MySQL para uma mais recente.

No artigo da Alura apresentado abaixo, você poderá acompanhar com detalhes como realizar a instalação do MySQL nos principais sistemas operacionais.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Bom dia Felipe, Fiz o procedimento acima e atualizei o mySQL, mas infelizmente continuo recebendo a mesma mensagem.

DatabaseError sqlalchemy.exc.DatabaseError: (mysql.connector.errors.DatabaseError) 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci' (Background on this error at: https://sqlalche.me/e/20/4xp6)