0

我目前正在用 Python 编写一个脚本,它将数据上传到 localhost MySql DB。我现在希望将此 MySql DB 重新定位到具有静态 IP 地址的远程服务器。我有一个网络托管设施,但这仅允许客户端连接到 MySql DB,如果我指定客户端将连接的域/IP 地址。我的 Python 脚本将在通过移动宽带加密狗连接的多台计算机上运行,​​因此,由于 IP 地址是动态分配的,因此 IP 地址每天都会有所不同。

关于如何使用我的网络托管设施 (cPanel) 解决此问题的任何建议,或者关于允许从任何 IP 地址远程访问的 MySql 托管服务的任何建议(假设它们成功地使用密码等进行身份验证) SSH 可能会解决这并允许我传输数据?

4

3 回答 3

2

转到 Cpanel 并%在远程 Mysql 连接选项上添加通配符(cPanel > 远程 MySQL)

于 2012-04-14T21:12:03.750 回答
1

您的另一个选择是从供应商处为您的笔记本电脑获取动态 dns 地址。基本上,您安装一个小软件,用您当前的 IP 更新外部系统。然后,您可以在 mysql 用户访问中使用域名而不是 IP,服务器将进行域名查找并授予您访问权限,而无需您打开 mysql 服务器与地球上每个服务器的连接,如您将根据 Gabriel 的解决方案进行操作。Dyndns 是一家提供这项服务的公司。

您还可以使用 ssh 和隧道您的会话。你只需要设置你的本地客户端来为 3306 端口做端口转发,设置你的 ssh 连接,然后连接到 localhost,你的脚本就会像在本地连接一样。虽然设置起来有点复杂,而且透明度较低,但它确实是一个很棒的工作。假设命令行 ssh 客户端:

ssh -L 3306:domain_or_ip_mysqlserver:3306 username@mysqlserver

mysql -u username -p -h localhost databasename
于 2012-04-14T21:21:36.310 回答
0

正如gview所说,我动态DNS服务是一个可能的解决方案。DynDns 会很好用,但更实惠的解决方案是ZoneEdit.com。我使用 ZoneEdit 来处理托管在具有动态 IP(电缆调制解调器)的 Windows Server 机器上的多个域。我有一个不断轮询 IP 地址更改的 Windows 服务。当服务检测到更改时,它会通知 ZoneEdit。ZoneEdit 然后将请求重定向到新 IP。

于 2012-04-14T21:40:35.737 回答