1
resposta

Erro ao rodar o arquivo prepara_banco.py

Rodei este arquivo e deu esse erro no meu terminal:

(venv) viniciustakeuchi@DESKTOP-86OTC81:~/2471-jogoteca-2$ /home/viniciustakeuchi/2471-jogoteca-2/venv/bin/python /home/viniciustakeuchi/2471-jogoteca-2/prepara_banco.py
Conectando...
2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111)
Traceback (most recent call last):
  File "/home/viniciustakeuchi/2471-jogoteca-2/prepara_banco.py", line 17, in <module>
    cursor = conn.cursor()
NameError: name 'conn' is not defined
1 resposta

Oi, Vinícius! Tudo bem?

De acordo com a mensagem de erro 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111) há um problema de conexão com o servidor MySQL, devemos então conferir se o nosso servidor MySQL está rodando ou se as credenciais de acesso ao banco de dados estão corretas, por meio das configurações do banco de dados no nosso código.

Somado a isso, a mensagem de erro NameError: name 'conn' is not defined nos informa que a variável 'conn' não está definida, o que provavelmente está ocorrendo pois a definição de 'conn' está em um bloco de código que não foi executado devido ao erro de conexão com o MySQL.

Dessa forma, é importante inicialmente conferir se executamos corretamente os seguintes códigos no terminal do nosso projeto, para nos conectarmos e interagirmos com bancos de dados MySQL usando Python:

pip3.exe install mysqlclient
pip install mysql-connector-python

Além do comando para instalar a nossa ferramenta de mapeamento objeto-relacional (ORM) para Flask:

pip install flask-sqlalchemy   

Somado a isso, devemos conferir se colocamos o comando abaixo no inicio do nosso documento jogoteca.py:

from flask_sqlalchemy import SQLAlchemy

E também se as configuração do URI do Banco de Dados estão semelhantes às configurações abaixo e se estamos inicializando o Flask-SQLAlchemy por meio do comando db = SQLAlchemy(app):

app.config['SQLALCHEMY_DATABASE_URI'] = \
    '{SGBD}://{usuario}:{senha}@{servidor}/{database}'.format(
        SGBD = 'mysql+mysqlconnector',
        usuario = 'root',
        senha = 'admin',
        servidor = 'localhost',
        database = 'jogoteca'
    )

db = SQLAlchemy(app)

Caso o problema persista, peço que me mande mais informações sobre o seu código, seria ótimo o link com o repositório do projeto no GitHub, por exemplo, para que eu possa testá-lo e assim encontrar uma resposta mais assertiva!

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓