Python MySQL OperationalError:1045,“访问被拒绝用户root @'localhost'

时间:2013-07-02 12:22:32

标签: python mysql

我试图通过以下方式从我的python程序访问数据库:

db = mysql.connect(host = 'localhost', user = 'Max', passwd = 'maxkim', db = 'TESTDB')
cursor = db.cursor()

但是,我在第一行代码中收到错误消息。

OperationalError: (1045, "Access denied for user 'Max'@'localhost' (using password: YES)")

为了解决这个问题,我做了以下几点:

$ mysql -u Max-p
Enter password: maxkim

mysql> create database TESTDB;
mysql> grant usage on *.* to Max@localhost identified by ‘maxkim’;
mysql> grant all privileges on TESTDB.* to Max@localhost ;
mysql> exit

如果我已授予用户“Max”(me)对数据库的所有访问权限,为什么我仍然无法在python中连接?

2 个答案:

答案 0 :(得分:8)

您可以尝试在最后添加 GRANT OPTION

GRANT all privileges on TESTDB.* to 'Max'@'localhost' IDENTIFIED BY 'maxkim' WITH GRANT OPTION;

您还可以使用以下命令查找用户的授权:

SHOW GRANTS FOR 'Max'@'localhost';

另见

答案 1 :(得分:0)

我建议大家总是使用 mysql_setpermission 而不是直接使用MySQL语句, mysql_setpermission 会为你做一切,包括FLUSHing。任何其他方式都容易出错。