从远程 PC 访问 SQL 数据库
Posted
技术标签:
【中文标题】从远程 PC 访问 SQL 数据库【英文标题】:Accessing a SQL database from remote PC 【发布时间】: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地址才能建立连接。是独一无二的方式。
【参考方案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"
,否则它无法连接到正确的服务器。以上是关于从远程 PC 访问 SQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章