Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

erro ao executar o prepara_banco.py: _mysql_exceptions.OperationalError: (1045,

Olá.

ao executar o script prepara_banco.py, eu obtive o seguinte erro:

/home/gabriel/jogoteca/venv/bin/python /home/gabriel/jogoteca/prepara_banco.py
Conectando...
Traceback (most recent call last):
  File "/home/gabriel/jogoteca/prepara_banco.py", line 3, in <module>
    conn = MySQLdb.connect(user='root', passwd=(minha senha de root do mysql), host='127.0.0.1', port=3306)
  File "/home/gabriel/jogoteca/venv/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
  File "/home/gabriel/jogoteca/venv/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in init
    super(Connection, self).init(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

Process finished with exit code 1

e isso ocorreu sendo que eu havia passado os parâmetros certos na linha:

conn = MySQLdb.connect(user='root', passwd=(minha senha de root do mysql), host='127.0.0.1', port=3306)

e isso também ocorre quando eu tento conectar no banco com meu usuário do sistema (user='gabriel'). erro:

/home/gabriel/jogoteca/venv/bin/python /home/gabriel/jogoteca/prepara_banco.py
Conectando...
Traceback (most recent call last):
  File "/home/gabriel/jogoteca/prepara_banco.py", line 3, in <module>
    conn = MySQLdb.connect(user='gabriel', passwd=(minha senha do mysql como gabriel), host='127.0.0.1', port=3306)
  File "/home/gabriel/jogoteca/venv/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
  File "/home/gabriel/jogoteca/venv/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in init
    super(Connection, self).init(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1698, "Access denied for user 'gabriel'@'localhost'")

Process finished with exit code 1

ou seja, pelo que eu entendi, alguma coisa tá bloqueando o acesso ao banco de dados via script, seja como root ou como usuário, mas quando eu me conecto no banco pelo terminal, funciona. como resolvo isso para conseguir conectar no banco? atualmente, estou trabalhando com o Linux Mint 19, se essa informação for relevante para a resolução do problema.

1 resposta
solução!

consegui resolver. bastou alterar o

host='127.0.0.1'

para

host='localhost'

pois era assim que estava constando na tabela de users do mysql