我已经尝试了以下脚本,但不幸的是不起作用。我正在使用一个免费的MySQL数据库提供程序。有什么想法吗?
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]目前,我收到以下错误:
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1044, "Access denied for user 'XXXXX'@'%' to database 'XXXXX'")发布于 2012-10-19 19:20:21
GRANT ALL
ON *.*
TO user@192.168.39.17 -- client ip address
IDENTIFIED BY 'pwd';编辑
这是您在数据库上运行的SQL,以确保user可以访问所有内容。pwd是user的密码。
基本上,此答案假定连接问题是凭据问题。
发布于 2012-10-19 19:41:02
这就是我要做的
mysql -u XXXX -h 208.11.220.249 -p进行连接。如果mysql客户端无法连接,则无法使用python进行连接。
发布于 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。
https://stackoverflow.com/questions/12972867
复制相似问题