首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当客户端连接到MySQL时,客户端的DNS名称错误--如何使用另一个客户端主机名?

问当客户端连接到MySQL时,客户端的DNS名称错误--如何使用另一个客户端主机名?
EN

Server Fault用户
提问于 2011-11-28 21:32:58
回答 1查看 784关注 0票数 0

在从一个Amazon实例连接到另一个MySQL实例时,我尝试使用受主机限制的EC2用户。我想为他们的dns功能使用弹性ip地址,但在这个问题中,您可能可以忽略亚马逊的EC2引用。

我想我的问题是,当用户连接到mysql时,客户端如何定义mysql客户端的dns名称?

如果我有问题,我道歉。也许它更通用--如何定义本地机器主机名,以便与任何传出连接一起使用?

问题是客户端应用程序有两个dns名称,但我需要使用另一个。详情如下:

代码语言:javascript
复制
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

代码语言:javascript
复制
mysql -uuser -p -hdb.fixedip.amazonaws.com
ERROR 1130 (HY000): Host 'app.randomdns.ec2.internal' is not allowed to connect to this MySQL server

db.fixedip.amazonaws.com可以方便地解析到内部IP地址(这可以改变),但是MySQL客户端没有被识别为它的非随机app.fixedip.amazonaws.com公共dns名称。

这似乎行不通:)

代码语言:javascript
复制
mysql -uuser@app.fixedip.amazonaws.com -p -hdb.fixedip.amazonaws.com

更新:当前的答案重新定义了问题--不要费心于mysql中的主机,而使用替代的主机限制。我会接受的,除非其他人想对原来的问题发表意见

EN

回答 1

Server Fault用户

回答已采纳

发布于 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地址在停止、启动或替换时更改的问题。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/335586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档