当我尝试连接到我的数据库服务器时,我遇到了未知主机的问题:
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网站托管公司托管我的数据库.
小智 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)
请关注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
我整天都在搜索文档.
我希望这对你有帮助.
归档时间: |
|
查看次数: |
83500 次 |
最近记录: |