2
respostas

Para quem está tendo problemas com MySQL

Neste tópico estou juntando algumas informações que podem ser úteis para quem não conhece o MySQL.

[Introdução] Em primeiro lugar, MySQL era open software que virou comercial há alguns anos, depois que a Oracle comprou a MySQL em 2009. A alternativa "canônica" é o MariaDB, que já está incluso por padrão na maioria das distribuições Linux (portanto instalável com apt, yum, Yast etc.) e também tem para Windows. Por outro lado a própria Oracle ainda mantém a versão "comunidade" gratuita, que tem inclusive repositórios para Linux e instalação para Windows.

Para a maioria das funcionalidades, ambos são compatíveis, então suponho que para o conteúdo do curso tanto faça um ou outro, mas isso pode mudar no futuro.

Links para download:

MySQL: https://dev.mysql.com/downloads/

MariaDB: https://mariadb.org/download/

[Instalação] Tanto em Linux quanto em Windows quanto em Mac, a instalação não deve ter segredos, mas certifique-se de instalar um pacote "mysql-client" ou algo do tipo, qualquer que seja seu sistema operacional.

[Mensagens de erro] "You are using pip version 10.0.1, however version 19.2.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command." Não é erro, só um aviso. Pode ser ignorado em 99,4392% dos casos. Se algo não funcionou, role a tela para cima e você vai encontrar o verdadeiro erro, normalmente algum dos seguintes.

Não achou "mysql.h" Provavelmente falta o pacote MySQL client.

"OSError: mysql_config not found" Falta instalar o MySQL ou mysql-client. Similar para o MariaDB.

Outras que possam aparecer, deixo para depois porque preciso sair agora. :P

Boa sorte.

2 respostas

Boa noite, Túlio! Como vai?

Obrigado por compartilhar essas informações com a gente! É com participações como essa sua que fazemos da Alura uma plataforma cada vez melhor! Continue assim!

Grande abraço e bons estudos, meu aluno!

Mais alguns:

(Incorrect string value: '\\xE7\\xE3o' for column 'categoria') 

As versões mais novas do MariaDB (e, aparentemente, algumas do MySQL), o charset correto para UTF-8 mudou de "utf8" para "utf8m4" e o collate, portanto, para "utf8m4_bin". Além de fazer os devidos ajustes no banco (e.g. arquivo /etc/my.cnf) e no prepara_py, no caso do MariaDB é preciso remover a expressão "SET NAMES utf8;".

[1008, "Can't drop database 'jogoteca'; database doesn't exist"]

É provavelmente a primeira vez que você roda o script, então comente as linhas6 e 7 (drop database/commit).

(1007, "Can't create database 'jogoteca'; database exists")]

Você esqueceu de descomentar as linhas 6 e 7 (ver acima).