通过Python MySqlDb连接到MySQL(1045错误)

时间:2012-01-30 19:41:11

标签: python mysql mysql-python

我在OSX Lion上使用Python 2.7,无法连接到Python上的远程SQL Db。我收到以下错误:

Traceback (most recent call last):
  File "connectDB.py", line 39, in <module>
    main()
  File "connectDB.py", line 16, in main
    db = MySQLdb.connect(HOST, USER, PASSWORD, DBNAME )
  File "build/bdist.macosx-10.7-intel/egg/MySQLdb/__init__.py", line 81, in Connect
  File "build/bdist.macosx-10.7-intel/egg/MySQLdb/connections.py", line 187, in __init__
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'ekogan'@'dyn-209-2-217-168.dyn.columbia.edu' (using password: YES)")

我知道我的主机和用户/传递工作,因为我可以通过PHP访问它。但出于某种原因,它在这里被否定了。可能有一些SQL版本问题?我完全不确定如何继续。

3 个答案:

答案 0 :(得分:2)

PHP可能无法将您的MySQL服务器作为远程主机访问。 Python可能会这样做。所以检查你的权限。

答案 1 :(得分:1)

如果您有权检查mysql.user表,请打开终端并输入

% mysql -u ekogan -p mysql
mysql> select user, host, password from user where password = password(PASSWORD);

在上方,将PASSWORD更改为由引号括起的密码值(即,如果您的密码为foobar,请将PASSWORD更改为"foobar")。 用户,主机和密码必须与mysql.user表中的条目匹配。

答案 2 :(得分:1)

grant select,update,delete,insert on DBNAME.*  to  'ekogan'@'dyn-209-2-217-168.dyn.columbia.edu' identified by 'PASSWORD';