查找AWS上安装的MySQL主机名

时间:2015-08-01 11:29:53

标签: mysql amazon-web-services phpmyadmin hostname

我无法找出安装在AWS T2微服务器上的MySQL数据库hostname

我可以通过phpmyadmin连接。通过PHP代码连接localhost也可以。

然而,无法找到hostname或ip来连接其他服务器上托管的服务(localhost无法选择)

尝试按照

运行
SELECT variable_value FROM global_variables WHERE variable_name = 'hostname'

但输出为ip-172-31-23-11。当我尝试连接时,这不起作为hostname

2 个答案:

答案 0 :(得分:2)

SELECT variable_value FROM global_variables WHERE variable_name = 'hostname'的输出显示非完全限定的私人DNS名称。

从同一个VPC连接到此实例应该没问题,但如果您需要从VPC外部连接,那么您应该使用公共DNS。与私有DNS一样,它在实例详细信息(以及其他地方)下的EC2仪表板中显示。

举个例子:

Example EC2 instance details under the EC2 Dashboard

然后,您还需要考虑网络控制,例如VPC ACL和安全组。确保实例的安全组允许通过3306(默认MySQL端口)从原始IP进行访问。

您还需要检查/etc/my.cnf中的bind-address是否允许特定来自某些地址的连接以及localhost / 127.0.0.1,或者只是删除或注释掉该行以允许MySQL听取所有传入的流量。

答案 1 :(得分:1)

如果您尝试连接到另一台服务器上的数据库的应用程序,则需要获取公共DNS,公共IP地址,或在DNS(Route53)中创建指向“数据库”的条目。 example.com“进入您的公共IP / DNS名称。然后,您可以使用其中一个作为应用程序中的连接字符串。

depending on settings, you may also have to follow some of the instructions here

您可能需要绑定mysql以侦听主机网络接口以获得外部连接。

我建议使用telnet来解决这个问题。如果您无法连接(通过命令:“telnet 54.4.54.4 5432”(其中54.4.54.4是您的公共IP / DNS / route53输入主机名),那么您还需要检查您的安全组并确保端口5432是打开您尝试远程登录的连接。