【问题标题】:pymsql not connecting to a databasemysql没有连接到数据库
【发布时间】:2014-08-11 20:21:44
【问题描述】:

我正在尝试通过连接到登录服务器来制作可在大量人的计算机上运行的软件。我已经使用 24hosting 设置了一个 MSQL 服务器并添加了一个数据库。然后我尝试使用 python 访问数据库,但它给了我错误“无法建立连接,因为目标机器主动拒绝它”。

我需要所有下载此程序的人都能够连接,而不仅仅是这台计算机。

这可能与我的服务器有关,与代码无关,但无论如何我都会在下面发布代码。

from os import getenv
import pymysql

server = getenv("31.220.17.13")
user = getenv("shutdow1_user")
password = getenv("DSAEWQ321")

conn = pymysql.connect(server, user , password, "tempdp")

cur = conn.cursor()

cur.execute("SELECT Host,User FROM user")
cur.close()
conn.close()

【问题讨论】:

    标签: python mysql sql pymysql


    【解决方案1】:

    尝试运行 tcpdump 或 tshark 主机 31.220.17.13 看看究竟发生了什么。 最有可能过滤到 mysql 端口的 TCP 连接(您会在 SYN 发送上看到 RST 回复),或者如果您看到在 TCP 会话建立后远程方关闭了连接 - 这将表明远程 mysql 服务器未正确配置为接受您的 IP/用户名/密码/数据库的客户端连接。

    【讨论】:

    • 感谢您的帮助。我将如何配置我的 SQL 服务器以基本上允许任何人访问数据库,而不是我手动添加它们?
    • 我不确定您是否真的要授予每个人访问数据库的权限...通常的做法是授予特定用户帐户的受限访问权限,并在您的用户也有权访问的脚本中使用它(典型场景 - 使用具有只读和/或仅附加权限的 db 用户凭据的网络服务器上的脚本)。无论如何,这超出了 python 主题,我建议在这里阅读 mySQL 文档dev.mysql.com/doc/refman/5.6/en/account-management-sql.html
    猜你喜欢
    • 2016-02-22
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2010-12-11
    相关资源
    最近更新 更多