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

发布于 2024-12-31 23:31:06 字数 681 浏览 1 评论 0原文

我在 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 版本控制问题?我完全不确定如何继续。

I am using Python 2.7 on OSX Lion and can't connect to a remote SQL Db on Python. I get the following error:

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)")

I know my host and user/pass work because I'm able to access it via PHP. But for some reason it's denied here. Could there be some SQL versioning issues? I am totally unsure of how to proceed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

月棠 2025-01-07 23:31:06

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

PHP probably does not access your MySQL server as a remote host. Python probably does. So check your permissions.

平生欢 2025-01-07 23:31:06

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

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

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

If you have permission to inspect the mysql.user table, open a terminal and type

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

Above, change PASSWORD to the value of your password surrounded by quotes, (i.e. if your password is foobar, change PASSWORD to "foobar").
The user, host and password must match an entry in the mysql.user table.

往日情怀 2025-01-07 23:31:06
grant select,update,delete,insert on DBNAME.*  to  'ekogan'@'dyn-209-2-217-168.dyn.columbia.edu' identified by 'PASSWORD'; 
grant select,update,delete,insert on DBNAME.*  to  'ekogan'@'dyn-209-2-217-168.dyn.columbia.edu' identified by 'PASSWORD'; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文