在从一个Amazon实例连接到另一个MySQL实例时,我尝试使用受主机限制的EC2用户。我想为他们的dns功能使用弹性ip地址,但在这个问题中,您可能可以忽略亚马逊的EC2引用。
我想我的问题是,当用户连接到mysql时,客户端如何定义mysql客户端的dns名称?
如果我有问题,我道歉。也许它更通用--如何定义本地机器主机名,以便与任何传出连接一起使用?
问题是客户端应用程序有两个dns名称,但我需要使用另一个。详情如下:
Public
db.fixedip.amazonaws.com app.fixedip.amazonaws.com
-------------------------------------------------------------------------------
Internal
db.randomdns.ec2.internal app.randomdns.ec2.internal
Actual machine instance
MySQL on Linux App on Windows 2003
'user'@'app.fixedip.amazonaws.com'来自app
mysql -uuser -p -hdb.fixedip.amazonaws.com
ERROR 1130 (HY000): Host 'app.randomdns.ec2.internal' is not allowed to connect to this MySQL serverdb.fixedip.amazonaws.com可以方便地解析到内部IP地址(这可以改变),但是MySQL客户端没有被识别为它的非随机app.fixedip.amazonaws.com公共dns名称。
这似乎行不通:)
mysql -uuser@app.fixedip.amazonaws.com -p -hdb.fixedip.amazonaws.com更新:当前的答案重新定义了问题--不要费心于mysql中的主机,而使用替代的主机限制。我会接受的,除非其他人想对原来的问题发表意见
发布于 2011-11-28 21:56:43
在MySQL中实现安全EC2数据库访问的一种标准方法是使用EC2安全组。只允许从特定安全组中的MySQL实例(例如"dbclient“)连接到EC2数据库服务器端口(3306)。将任何数据库客户端EC2实例放在"dbclient“安全组中。
将MySQL本身配置为允许在任何主机("%")上从您的经过身份验证的用户连接。
这解决了必须跟踪所有EC2实例的内部IP地址的问题,特别是因为在停止并启动实例时这些地址发生了更改,即使您分配了弹性IP地址。
下面是我写的一篇文章,它可以帮助您使用基于服务器的弹性IP地址DNS名称的内部IP地址从数据库客户端连接到数据库服务器:
使用弹性IP识别Amazon EC2 http://alestic.com/2009/06/ec2-elastic-ip-internal上的内部实例
这有助于解决数据库服务器IP地址在停止、启动或替换时更改的问题。
https://serverfault.com/questions/335586
复制相似问题