首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Python连接远程MySQL数据库

通过Python连接远程MySQL数据库
EN

Stack Overflow用户
提问于 2012-10-19 19:03:01
回答 4查看 51.3K关注 0票数 21

我已经尝试了以下脚本,但不幸的是不起作用。我正在使用一个免费的MySQL数据库提供程序。有什么想法吗?

代码语言:javascript
复制
import MySQLdb

myDB = MySQLdb.connect(host="208.11.220.249",port=3306,user="XXXXX",passwd="XXXXX",db="XXXXX")
cHandler = myDB.cursor()
cHandler.execute("SHOW DATABASES")
results = cHandler.fetchall()
for items in results:
    print items[0]

目前,我收到以下错误:

代码语言:javascript
复制
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1044, "Access denied for user 'XXXXX'@'%' to database 'XXXXX'")
EN

回答 4

Stack Overflow用户

发布于 2012-10-19 19:20:21

代码语言:javascript
复制
 GRANT ALL
 ON  *.*
 TO user@192.168.39.17  -- client ip address
 IDENTIFIED BY 'pwd';

编辑

这是您在数据库上运行的SQL,以确保user可以访问所有内容。pwduser的密码。

基本上,此答案假定连接问题是凭据问题。

票数 13
EN

Stack Overflow用户

发布于 2012-10-19 19:41:02

这就是我要做的

  1. 查看该计算机上的端口是否已打开。
  2. 在您要连接的计算机上,打开控制台/cmd/终端,查看是否可以使用mysql -u XXXX -h 208.11.220.249 -p进行连接。如果mysql客户端无法连接,则无法使用python

进行连接。

票数 6
EN

Stack Overflow用户

发布于 2012-10-19 23:50:14

您没有权限使用此用户连接到数据库。请按照以下步骤操作:

1.尝试连接mysql数据库: mysql -h208.11.220.249 -uXXXXX -pXXXXX XXXXX

2.如果您没有连接到数据库的权限,请尝试创建具有远程权限的用户

GRANT ALL ON DB.* --数据库名称TO user@ip --由‘pwd’标识的客户端ip地址;

3.在最后一次检查my.cnf。如果要连接所有远程地址,则bind-address必须为0.0.0.0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12972867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档