Python 远程访问MySql数据库(托管选项)

Python 远程访问MySql数据库(托管选项),python,mysql,mysql-python,Python,Mysql,Mysql Python,我目前正在用Python编写一个脚本,将数据上传到本地主机MySql数据库。我现在想把这个MySql数据库重新定位到一个具有静态IP地址的远程服务器上。我有一个web托管工具,但这只允许客户端连接到MySql数据库,如果我指定客户端将从中连接的域/IP地址。我的Python脚本将在许多计算机上运行,这些计算机将通过移动宽带加密狗进行连接,因此,随着IP地址的动态分配,IP地址每天都会发生变化 关于如何使用my web hosting facility(cPanel)解决此问题的任何建议,或者关于

我目前正在用Python编写一个脚本,将数据上传到本地主机MySql数据库。我现在想把这个MySql数据库重新定位到一个具有静态IP地址的远程服务器上。我有一个web托管工具,但这只允许客户端连接到MySql数据库,如果我指定客户端将从中连接的域/IP地址。我的Python脚本将在许多计算机上运行,这些计算机将通过移动宽带加密狗进行连接,因此,随着IP地址的动态分配,IP地址每天都会发生变化


关于如何使用my web hosting facility(cPanel)解决此问题的任何建议,或者关于允许从任何IP地址远程访问的MySql托管服务的任何建议(假设它们成功通过密码验证等…)SSH可能会解决这个问题并允许我传输数据吗?

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

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

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

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

ssh -L 3306:domain_or_ip_mysqlserver:3306 username@mysqlserver

mysql -u username -p -h localhost databasename

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

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

ssh -L 3306:domain_or_ip_mysqlserver:3306 username@mysqlserver

mysql -u username -p -h localhost databasename

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

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

为什么您的Python脚本不能连接到服务器,然后再连接到MySQL?让任何IP与数据库对话不是一个好主意。我同意你的观点,这是不安全的,但是如果连接到mysql的服务器动态更改IP,你需要允许所有IP,或者在每次更改时手动更新IP。如果服务器更改其IP,它是什么类型的服务器?托管在主连接上?为什么Python脚本不连接到服务器,然后再连接到MySQL?让任何IP与数据库对话不是一个好主意。我同意你的观点,这是不安全的,但是如果连接到mysql的服务器动态更改IP,你需要允许所有IP,或者在每次更改时手动更新IP。如果服务器更改其IP,它是什么类型的服务器?在家庭连接上托管?