【问题标题】:Accessing a SQL database from remote PC从远程 PC 访问 SQL 数据库
【发布时间】:2021-07-29 00:28:56
【问题描述】:

当我开始托管我的网站时,我收到了一个 phpMyAdmin 的东西,我可以在其中管理网站的数据库。如何从远程 PC 访问这些数据库?

我尝试使用 Python 连接到一个,但我不断收到错误 (10061 No connection could be made because the target machine actively refused it),我需要帮助,因为我不知道如何解决它。

这是我写的代码:

import mysql.connector
try:
    mydb = mysql.connector.connect(
        host='localhost',
        user='someuser',
        password='somepass',
        database='database'
    )
except Exception as e:
    print(type(e))
    print(e)

【问题讨论】:

  • 您需要在防火墙上打开3309端口,并在MySQL配置中启用远程用户。
  • 您必须将host='localhost' 更改为运行数据库的计算机的地址。
  • @Barmar 远程用户已启用,但打开端口 3309?不是3306吗?另外,如何找到运行数据库的计算机的地址?
  • 你需要知道你的数据库服务器的IP地址才能建立连接。是独一无二的方式。

标签: python mysql sql


【解决方案1】:

如果您要连接到另一台服务器计算机上的远程数据库,则不应使用 localhost。而是使用数据库服务器 IP 地址:

import mysql.connector
try:
    mydb = mysql.connector.connect(
        host='11.162.174.78',
        port='3306',
        user='user_id',
        password='user_password',
        database='name_of_database'
    )
except Exception as e:
    print(type(e))
    print(e)

话虽如此,您在上面的问题中提到了“为网站管理数据库”,对此我建议您使用适当的数据库管理工具,例如 MySQL Workbench 或 HeidiSQL。

【讨论】:

  • 你是对的,但是代码本身是错误的...host="ip:port" 将不起作用,您必须在不同的参数中指定端口和 ip,例如:host="ip", port="port",否则它无法连接到正确的服务器。
猜你喜欢
  • 2016-06-23
  • 1970-01-01
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 2021-01-08
  • 2016-05-17
相关资源
最近更新 更多