通过Python连接远程MySQL数据库

2024-05-15 22:51:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试过下面的脚本,但不幸的是没有成功。我正在使用一个免费的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'")

Tags: import程序脚本数据库hostforconnectmysql
3条回答
 GRANT ALL
 ON  *.*
 TO user@192.168.39.17  -- client ip address
 IDENTIFIED BY 'pwd';

编辑

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

基本上,这个答案假设连接问题是凭证问题。

您没有权限与此用户连接到数据库。 遵循以下步骤:

1.尝试连接mysql数据库: mysql-h208.11.220.249-uxxx-pxxx-XXXXX-

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

全部授予 在DB.--Database name上 TO user@ip——客户端ip地址 由“pwd”标识

3.最后一次检查我的.cnf。”如果要连接所有远程地址,“绑定地址”必须为0.0.0.0。

这就是我要做的

  1. 看看那台机器上的端口是否真的打开了。
  2. 在要连接的计算机上,打开console/cmd/terminal,查看是否可以使用mysql -u XXXX -h 208.11.220.249 -p进行连接。如果mysql客户端无法连接,则无法使用python连接

相关问题 更多 >