EC2 实例中的远程 Mysql

EC2 实例中的远程 Mysql

我在 Amazon EC2 中有一个 MySql 服务器实例。在my.cnf

如果我写了bind-address = 127.0.0.1,服务器就可以启动。

但如果我写bind-address = SERVER_IP,它会出现绑定错误。

那么要远程连接该服务器(因为我想在本地工作区中使用它进行开发),我该怎么做?

答案1

您可以绑定到地址 0.0.0.0。这会使 MySQL 监听每个 IP。

请记住,你可能必须授予你连接的 IP 使用权限,例如

GRANT USAGE ON databse.table TO 'username'@'host';

附注:你可以使用亚马逊关系数据库服务如果你只想在云中拥有一个 MySQL 数据库

答案2

我猜这SERVER_IP是您实例的公共(弹性?)IP。这行不通,因为从机器的角度来看,您只能在 10/8 中获得一个地址,并且该私有 IP 地址由 Amazon 网络进行 NAT 转换为您熟悉和喜欢的公共 IP。

您必须设置bind-address = 10.x.y.z(或0.0.0.0,如 Christopher Perrin 所建议的)才能使其工作。但请记住,向世界开放的数据库服务器是一个充满机会的诱人目标……

答案3

您应该做的是在您和数据库实例之间创建一个安全链接,例如通过 OpenVPN 或类似方式。OpenVPN 可能有点过头了,但它是最好的。这样您就可以绑定到它的 tun0 接口,而不必担心被黑客入侵之类的小事。

答案4

只需将您当前的 IP 添加到您的服务器正在使用的安全组。

  1. http://ping.eu
  2. 复制您的 IP 地址并将其添加到安全组(通常是默认的)。类似这样的内容:xxx.xxx.xxx.xxx/32

相关内容