Python MySQLdb - Fehler 1045: Zugriff für Benutzer verweigert

Ich habe einen Python-Code, der so aussieht

import MySQLdb
import sys

try:
    con = MySQLdb.connect(host = 'localhost',user = 'crawler',passwd = 'crawler', db = 'real_estate_analytics')

    #... rest of code ...

except MySQLdb.Error, e:

    print "Error %d: %s" % (e.args[0],e.args[1])
    sys.exit(1)

Das Problem ist, dass ich den folgenden Fehler erhalte:

Error 1045: Access denied for user 'crawler'@'localhost' (using password: YES)

Wenn ich auf dem Terminal mysqlmysql -u crawler -pcrawler Ich kann problemlos auf die Datenbanken zugreifen.

mysql> show databases;
+-----------------------+
| Database              |
+-----------------------+
| information_schema    |
| AL                    |
| cloversoup            |
| codebar               |
| mysql                 |
| performance_schema    |
| real_estate_analytics |
| teste                 |
+-----------------------+
8 rows in set (0.00 sec)

Ich habe auch den anonymen Benutzer gelöscht, um Kollisionen zu vermeiden. Meine Benutzer sind

mysql> select user,host from mysql.user;
+---------+-----------+
| user    | host      |
+---------+-----------+
| root    | %         |
| crawler | localhost |
| root    | localhost |
+---------+-----------+
3 rows in set (0.00 sec)

Ich habe allen Crawlern (und gelöschten Privilegien) alle Bewilligungen gegeben, so dass dies nicht das Problem sein sollte:

GRANT ALL PRIVILEGES ON *.* TO crawler@localhost IDENTIFIED BY 'crawler' WITH GRANT OPTION;

FLUSH PRIVILEGES;

in der Tat:

mysql> show grants;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for crawler@localhost                                                                                                              |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'crawler'@'localhost' IDENTIFIED BY PASSWORD '*A594DECC46D378FDA13D7843740CBF4985E6969B' WITH GRANT OPTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Ich habe auch versucht, eine Verbindung über das herzustellenroot Benutzer, indem Sie tun

con = MySQLdb.connect(host = 'localhost',user = 'root',passwd = 'my_root_password', db = 'real_estate_analytics')

aber es funktioniert auch nicht (gleicher Fehler).

Dieses Ding macht mich verrückt. Hat jemand einen Einblick was das Problem sein könnte?

OBS: Ich weiß, dass es ähnliche Fragen zu SO gibt, aber ich habe sie alle gelesen und mein Problem damit nicht gelöst. Deshalb poste ich es hier

Antworten auf die Frage(1)

Ihre Antwort auf die Frage