未知的MySQL服务器主机

Mal*_*loc 16 php mysql

当我尝试连接到我的数据库服务器时,我遇到了未知主机的问题:

Warning: mysqli::mysqli() [mysqli.mysqli]: (HY000/2005): Unknown MySQL server host 'xxxxxxxxxxxxx:port' in index.php on line 18
Run Code Online (Sandbox Code Playgroud)

第18行是我试图请求连接MySQL服务器的那一行:

    $this->db = new mysqli($db_host, $db_user, $db_psw, $db_name);
Run Code Online (Sandbox Code Playgroud)

我在1&1网站托管公司托管我的数据库.

小智 24

当名称解析在主机上不起作用时,通常会出现这种情况.如果您的连接目标始终相同,则可能需要使用其IP地址进行连接.


小智 8

如果您使用此代码:

$Mysqli= new mysqli('mysql2.servidoreswindows.net:3306',
                    'usu', 'pass', 'dbname');
Run Code Online (Sandbox Code Playgroud)

你可以尝试编写没有端口的主机

那是:

$Mysqli= new mysqli('mysql2.servidoreswindows.net', 'usu', 'pass', 'dbname');
Run Code Online (Sandbox Code Playgroud)


Phi*_*Enc 7

请关注AWS安全组:

在我的情况下,我可以从我的计算机连接到RDS抛出Telnet,我也可以连接抛出Mysql Workbench,但是我无法从与RDS在同一个VPC内的EC2实例连接.

解决方案是:
1.我为RDS创建了一个安全组(例如)并分配给它.
2.我为EC2创建了一个安全组(例如)并分配给它.
我也将RDS安全组(例如)分配给EC2.<<这节省了我.

信息:如果您的EC2已分配了2个或更多安全组,则在RDS安全组中,入站源必须创建规则,因为许多安全组都已分配了EC2.

亚马逊文档说:
VPC中的EC2实例与数据库实例共享相同的 VPC安全组. http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html

我整天都在搜索文档.
我希望这对你有帮助.