Servidor de servidor MySQL desconocido

Cuando bash conectarme a mi servidor de base de datos, encuentro el problema de un host desconocido :

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

la línea 18 es la línea donde trato de solicitar la conexión del servidor MySQL:

  $this->db = new mysqli($db_host, $db_user, $db_psw, $db_name); 

Alojé mi base de datos en la empresa de alojamiento de sitios web 1 & 1 .

Este suele ser el caso cuando la resolución de nombres no funciona en el host. Si su destino de conexión es siempre el mismo, es posible que desee utilizar su dirección IP para la conexión.

Si usas este código:

 $Mysqli= new mysqli('mysql2.servidoreswindows.net:3306', 'usu', 'pass', 'dbname'); 

Puedes intentar escribir host sin puerto

Es decir:

 $Mysqli= new mysqli('mysql2.servidoreswindows.net', 'usu', 'pass', 'dbname'); 

Por favor, preste atención con los grupos de seguridad de AWS:

En mi caso, puedo conectarme a RDS desde mi computadora a Telnet y también puedo conectar a Mysql Workbench pero no puedo conectarme desde mi instancia de EC2 que esté dentro de la misma VPC que el RDS.

La solución fue:
1. He creado un grupo de seguridad (exampl1) para RDS y se lo asigné.
2. He creado un grupo de seguridad (exampl2) para EC2 y se lo asigné.
y también he asignado el grupo de seguridad RDS (exampl1) al EC2. < < esto me salva.

Información: Si su EC2 ha asignado 2 o más grupos de seguridad, en la fuente de entrada del grupo de seguridad de RDS tiene que crear reglas, ya que muchos grupos de seguridad tienen asignado su EC2.

Amazon docs dice:
La instancia de EC2 en la VPC comparte el mismo grupo de seguridad de VPC con la instancia de la base de datos. http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html

Pasé todo el día buscando docs.
Espero que esto te ayude.

Sé que esta es una vieja pregunta. Pero me encontré con este mismo problema hoy, y ninguna de las respuestas que encontré fue la correcta.

El problema en mi caso terminó siendo que el puerto 3306 no está abierto en nuestro servidor de seguridad, y estaba intentando conectarme a una base de datos mysql interna desde un servidor externo.

No estoy seguro de por qué el error que le da es “Host desconocido” en este caso. Hubiera esperado algo más como “No se puede conectar”. o “Conexión rechazada”, pero usar el mismo código exacto de un servidor interno funcionó bien, lo que me llevó a esta conclusión.

Asegúrate de no incluir la parte “http: //”. Estaba usando http://example.com en mi archivo .env . Cuando lo dejé como example.com funcionó.