Estate atento ya que en esta noticia encontrarás el arreglo que buscas.
Solución:
El controlador de conexión MySQL no obtiene ningún servidor significativo en la ubicación de localhost. Así que usa,
'hostname' => '127.0.0.1'
más bien que
'hostname' => 'localhost'
Me ocurrió el mismo problema, con AWS RDS MySQL. Busqué varias fuentes, pero a partir de este hilo, casi todas faltan respuesta. Si bien esta respuesta me ayudó, modifique en mente para actualizar los nombres de host en el servidor. Accede a tu SSH y sigue los pasos:
cd /etc/
sudo nano hosts
Ahora, agregando aquí sus nombres de host: Por ejemplo:
127.0.0.1 localhost
127.0.0.1 subdomain.domain.com [if cname redirected to endpoints]
127.0.0.1 xxxxxxxx.xxxx.xxxxx.rds.amazonaws.com [Endpoints]
y ahora, configurando config/database.php
como sigue:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '35.150.12.345',
'username' => 'user-name-here',
'password' => 'password-here',
'database' => 'database-name-here',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
dónde 35.150.12.345
es tuyo IP pública IPv4situado en ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public
IP (‘35.150.12.345’) allí.
Nota: tenga en cuenta que solo IPV4 funcionará en la opción ‘nombre de host’. hostname, cname, los dominios generarán un error de conexión a la base de datos.
tengo este error
mysqli::real_connect(): (HY000/2002): No existe tal archivo o directorio
de PhpMyAdmin ejecutándose en mi Mac Mojave, con el servidor MySQL también ejecutándose en mi Mac.
Se solucionó editando PhpMyAdmin/config.inc.php
y cambié la línea:
$cfg['Servers'][$i]['host'] = 'localhost';
a
$cfg['Servers'][$i]['host'] = '127.0.0.1';
Recuerda algo, que tienes la opción de añadir un criterio justo .