5
respostas

Erro ao rodar o prepara_banco

Preciso instalar qual versão do MYsql na minha máquina? ..a versão Server? ou pode ser a "MySQL Community Edition (GPL)" ?

C:\Users\denis.freislebem\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/denis.freislebem/PycharmProjects/Extrator_Python/prepara_banco.py
Conectando...
Traceback (most recent call last):
  File "C:/Users/denis.freislebem/PycharmProjects/Extrator_Python/prepara_banco.py", line 5, in <module>
    conn = MySQLdb.connect(user='root', passwd='admin', host='127.0.0.1', port=3306)
  File "C:\Users\denis.freislebem\AppData\Local\Programs\Python\Python36-32\lib\site-packages\MySQLdb\__init__.py", line 86, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\denis.freislebem\AppData\Local\Programs\Python\Python36-32\lib\site-packages\MySQLdb\connections.py", line 204, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (10061)")

Process finished with exit code 1
5 respostas

Felipe,

pode sim a versão: "MySQL Community Edition (GPL)" e totalmente funcional para o Flask.

obs: https://www.mobilefish.com/developer/mysql/mysql_quickguide_install_5.0.html

o Mysql ja esta instalado, mas não adianta, da erro ao executar o MySQLdb.connect. Tentei da mesma forma que o instrutor passou e até fiz algumas modificações, mas nada;

até criei o banco de dados manualmente pra depois conectar, mas nada... conn = MySQLdb.connect(user='root', password='admin', host='localhost', port=3306, db='extrator_python')

ah, na verdade o erro mudou para:

Traceback (most recent call last):
  File "C:/Users/denis.freislebem/PycharmProjects/Extrator_Python/prepara_banco.py", line 6, in <module>
    conn = MySQLdb.connect(user='root', password='admin', host='localhost', port=3306, db='extrator_python')
  File "C:\Users\denis.freislebem\AppData\Local\Programs\Python\Python36-32\lib\site-packages\MySQLdb\__init__.py", line 86, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\denis.freislebem\AppData\Local\Programs\Python\Python36-32\lib\site-packages\MySQLdb\connections.py", line 204, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2059, <NULL>)

Olá Felipe,

Não dá pra saber se é só isso, mas você está passando os seguintes parametros aí.

MySQLdb.connect(user='root', password='admin', host='localhost', port=3306, db='extrator_python')

Se mudar de password para passwd, talvez mude o erro denovo ou resolva o problema.

Qualquer coisa avise.

Luan

Olá Felipe,

Vamos por partes:

1 - Configuração

Você deve instalar um driver MySQL antes de fazer qualquer coisa. Ao contrário do PHP, somente o driver SQLite é instalado por padrão com o Python. O pacote mais usado para fazer isso é o MySQLdb, mas é difícil instalá-lo usando o easy_install ou pip no Windows.

Baixa o arquivo de instalação em: https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.win32-py2.7.msi/download

2 - Uso

Após a instalação, reinicie. Isso não é obrigatório, mas me impedirá de responder 3 ou 4 outras perguntas neste post se algo der errado. Então, por favor, reinicie.

Então é como usar, se vc tiver uma base de dados use, senão cria uma e testa como abaixo:

#!/usr/bin/python
import MySQLdb

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="root",         # usuário administrador
                     passwd="admin",  # sua senha admim
                     db="testedb")        # banco de dados de exemplos

cur = db.cursor()

cur.execute("SELECT * FROM NOME_DA_TABELA")

for row in cur.fetchall():
    print( row[0])

db.close()

Claro, existem milhares de possibilidades e opções; Este é um exemplo muito básico. Você terá que olhar a documentação. Um bom ponto de partida, para outras opção: https://dev.mysql.com/doc/?

Se tudo funcionou, basta entrar na sua aplicação é adaptar. Senão posta o erro aqui...