远程访问MySql DB(主机选项)

时间:2012-04-14 21:07:25

标签: python mysql mysql-python

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

你也可以使用ssh和隧道你的会话。您只需设置本地客户端为3306端口进行端口转发,设置ssh连接,并连接到localhost,您的脚本就像在本地连接一样。虽然设置有点复杂,而且透明度较低,但这是一个非常好的工作。假设命令行ssh客户端:

ssh -L 3306:domain_or_ip_mysqlserver:3306 username@mysqlserver

mysql -u username -p -h localhost databasename

答案 2 :(得分:0)

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