Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将AmazonEC2连接到我的本地MySQL数据库_Mysql_Macos_Amazon Ec2 - Fatal编程技术网

将AmazonEC2连接到我的本地MySQL数据库

将AmazonEC2连接到我的本地MySQL数据库,mysql,macos,amazon-ec2,Mysql,Macos,Amazon Ec2,是否可以执行以下操作: 我有一个运行OSXLion的本地Mac,安装了一个MySQL服务器,定期运行不同的进程,并将数据存储到本地数据库中 另一方面,我有一个AmazonEC2实例 我想做的是使用Amazon实例执行某些cronjobs(使用它自己的资源),但连接到本地主机(我的计算机)上的数据,并执行基本的SQL操作,如更新数据、插入数据等 我不知道这是否有帮助,但我有一个静态IP。是否有任何方法可以“打开”我的IP,以便Amazon实例可以将我的家用计算机识别为有效的MySQL服务器 感谢您

是否可以执行以下操作:

我有一个运行OSXLion的本地Mac,安装了一个MySQL服务器,定期运行不同的进程,并将数据存储到本地数据库中

另一方面,我有一个AmazonEC2实例

我想做的是使用Amazon实例执行某些cronjobs(使用它自己的资源),但连接到本地主机(我的计算机)上的数据,并执行基本的SQL操作,如更新数据、插入数据等

我不知道这是否有帮助,但我有一个静态IP。是否有任何方法可以“打开”我的IP,以便Amazon实例可以将我的家用计算机识别为有效的MySQL服务器


感谢您的帮助,任何正确的提示都将不胜感激。

如果您使用的是mysql端口,您必须打开防火墙上的mysql端口,在EC2实例上安装mysql客户端,并确保用户具有适当的可授予权限


也就是说,为什么不在mac上本地运行cron?

如果您可以通过SSH登录到服务器,那么就不需要打开任何其他端口,也不需要静态IP。您可以改用SSH端口转发。从本地计算机运行:

ssh -C -R 5555:127.0.0.1:3306 <your-server-host>
ssh-C-R 5555:127.0.0.1:3306

现在,您应该能够从位于
localhost:5555
的远程服务器连接到运行在
localhost:3306
上的Mac数据库。如果您的EC2实例正在连接到本地db,您将需要一个本地静态IP。嗯,不需要。。。但如果你没有它,任何时候你重置你的路由器或松动电源等你的ip将改变。您还可以查看本地实例的动态DNS


您的ISP不会阻止本地实例上的端口。这将是您网络中的防火墙,阻止您连接到mysql或mysql本身的配置。用户只能从某些IP地址连接到mysql

谢谢你的快速回复。所以基本上我需要让我的ISP让我打开端口3306?就这样?我在读关于VPN、lion服务器以及所有这些的书,我不需要这些吗?我需要在另一台机器上运行cron的原因是我的本地机器无法处理更多的工作,这就是为什么我考虑将资源外包给ec2实例。谢谢,我不理解的是,我将告诉ec2实例连接到哪个IP?我有ISP提供给我的公共静态IP,本地有3台不同的机器,DB位于其中一台192.168.0.1上。再次感谢!登录到您的数据库计算机并转到将为您提供该计算机IP的位置。除非您有一些路由器配置将该ip重定向到其他应该是正确使用的ip。任何以192.168.x.x开头的ip地址都是本地ip地址,amazon无法连接到该ip。谢谢,它成功了!我以为事情会复杂得多!