Uso de phpMyAdmin para administrar Amazon RDS


No puedo hacer que phpMyAdmin se conecte a mi instancia de Amazon RDS. He concedido permisos para mi dirección IP al Grupo de Seguridad de la base de datos que tiene acceso a esta base de datos a la que estoy tratando de acceder. Esto es con lo que estoy trabajando...

    $cfg['Servers'][$i]['pmadb'] = $dbname;
    $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma_relation';
    $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
    $cfg['Servers'][$i]['history'] = 'pma_history';
    $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

    /* Uncomment the following to enable logging in to passwordless accounts,
     * after taking note of the associated security risks. */
    // $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

    /* Advance to next server for rest of config */
    $i++;
}

    $cfg['Servers'][$i]['auth_type'] = 'http';  //is this correct?
    $cfg['Servers'][$i]['user'] = 'MASTER-USER';
    $cfg['Servers'][$i]['password'] = 'MASTER-USER-PASSWORD';
    $cfg['Servers'][$i]['hide_db'] = '(mysql|information_schema|phpmyadmin)';
    /* Server parameters */
    $cfg['Servers'][$i]['host'] = 'MY-DB.us-east-1.rds.amazonaws.com';
    $cfg['Servers'][$i]['connection_type'] = 'socket';
    $cfg['Servers'][$i]['port'] = PORT;

No estoy seguro si mi configuración es correcta.

Estoy recibiendo este error:

#2013-Perdió la conexión al servidor MySQL en 'leer paquete de comunicación inicial', error del sistema: 110

¿alguien tiene alguna ¿consejo?

Author: Raptor, 2010-12-09

9 answers

Encontré que la mayoría de las respuestas en esta pregunta carecen de explicación. Para agregar el servidor RDS en phpMyAdmin instalado en EC2, primero puede iniciar sesión en su EC2 a través de SSH. A continuación, ejecute el siguiente comando para editar el archivo de configuración de phpMyAdmin (use vi, nano o cualquier otra herramienta de edición de texto favorita):

sudo vi /etc/phpMyAdmin/config.inc.php # Amazon Linux
sudo vi /etc/phpmyadmin/config.inc.php # Ubuntu Linux

Encuentra las siguientes líneas en config.inc.php:

/*
 * End of servers configuration
 */

Añada las siguientes líneas encima de la línea "Fin de configuración de servidores":

$i++;
$cfg['Servers'][$i]['host'] = 'xxxxx.xxxxxxxxxx.us-east-1.rds.amazonaws.com';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['verbose'] = 'YOUR_SERVER_NAME';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = TRUE;

Que YOUR_SERVER_NAME es el nombre se muestra en el cuadro de selección de la página de inicio de sesión de phpMyAdmin. Si elimina esta línea, el nombre de host RDS completo se mostrará en el cuadro de selección (que es demasiado largo, obviamente). Recuerde guardar el config.inc.php.

Hay varios otros ajustes de configuración, que puede encontrar los detalles en la documentación oficial .


Nota: La otra respuesta sugiere inicio de sesión automático con nombre de usuario y contraseña preestablecidos en el archivo de configuración:

$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = '__FILL_IN_DETAILS__';
$cfg['Servers'][$i]['password']      = '__FILL_IN_DETAILS__';

Que es extremadamente peligroso si su phpMyAdmin está expuesto al público. No quieres mostrar tu esquema de base de datos a todo el mundo, ¿verdad? Si realmente desea utilizar el inicio de sesión automático, asegúrese de que su phpMyAdmin sea accesible solo a través de IPs específicas.

 22
Author: Raptor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-20 11:16:47

En Debian Lenny usando el phpmyadmin del repositorio añada esto a /etc/phpmyadmin/config.inc.php :

$i++;
$cfg['Servers'][$i]['host'] = 'xxxxx.xxxxxxxxxx.us-east-1.rds.amazonaws.com';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = TRUE;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'xxxxxxxxxxxx';
$cfg['Servers'][$i]['password'] = 'xxxxxxxxxxxxxxxxxx';
 22
Author: Jorge E. Cardona,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-12 21:19:56

Debe agregar la instancia RDS como un servidor adicional listado en phpMyAdmin mientras otorga al host phpMyAdmin acceso a su instancia RDS.

Más detalles en esta entrada de blog en Cómo administrar de forma remota una instancia de Amazon RDS con phpMyAdmin :

La única cosa con la que tuve problemas fue la configuración del Grupo de Seguridad de la base de datos. Cuando va a agregar acceso para un CIDR / IP, proporciona un valor recomendado. Tomó un poco de perder el tiempo para determinar que este valor predeterminado no es realmente lo que necesitaba estar allí. Si no puede conectarse a su instancia cuando todo está dicho y hecho, asegúrese de volver a verificar este valor. La IP que proporcionaron no coincidía con la dirección IP que nos proporcionó nuestro ISP. Una vez que haya creado su instancia de base de datos y configurado el grupo de seguridad, estará listo.

Voy a asumir que ya tienes phpMyAdmin en marcha. Lo que necesitas hacer es modificar la configuración.inc.php para reconocer el nuevo servidor.

 13
Author: Webnet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-17 16:03:43

Intente conectarse desde la línea de comandos de mysql (http://dev.mysql.com/doc/refman/5.1/en/mysql.html) y ver lo que es esta utilidad le devuelve. Encontré que es más fácil depurar de esa manera.

mysql -hMY-DB.us-east-1.rds.amazonaws.com -uMASTER-USER -pPASSWORD

Si eso no funciona, significa que su seguridad de amazon RDS no está configurada correctamente. (que es el problema común).

 9
Author: user539688,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-12-15 00:25:10
sudo nano /etc/phpmyadmin/config.inc.php

--ADD LINES BELOW THE PMA CONFIG AREA AND FILL IN DETAILS--
$i++;
$cfg['Servers'][$i]['host']          = '__FILL_IN_DETAILS__';
$cfg['Servers'][$i]['port']          = '3306';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = '__FILL_IN_DETAILS__';
$cfg['Servers'][$i]['password']      = '__FILL_IN_DETAILS__';

Guardar y Salir. Actualice su página phpmyadmin y verá un menú desplegable con el servidor que acaba de agregarintroduzca la descripción de la imagen aquí

Fuente: https://github.com/andrewpuch/phpmyadmin_connect_to_rds, https://www.youtube.com/watch?v=Bz-4wTGD2_Q

 6
Author: jetpackdata.com,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-12 18:21:28

Tuve el mismo problema y nada de lo anterior lo resolvió.

Resultó que la cosa estaba en la opción de "Acceso público" de la instancia RDS. Cuando crea su instancia, esta opción es "no" de forma predeterminada y no hay lugar para cambiarla.

Sin embargo, después de crear la instancia RDS, puede hacer su instantánea, luego eliminar la instancia y luego iniciar la instantánea. En las opciones de lanzamiento, simplemente establezca "Acceso público" en " sí " y su phpMyAdmin finalmente lo verá Servidor RDS MySQL.

Tenga en cuenta que el DNS de la instancia RDS original y el snaphot son diferentes, por lo que tendría que cambiar su 'host' en la configuración.inc.php

Saludos:)

 0
Author: Alex Love,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-29 00:46:28

Primero prueba esto:

Mysql-h xxxxx.xxxxxxx.xx-xx-2.rds.amazonaws.com -u root-p // Su servidor RDS.

Si espera y no solicita la contraseña, deberá verificar security group y agregar 3306 outbound a su nivel web.

 0
Author: Omkar Jadhav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-05 14:29:30

Si puede conectarse desde la cli usando mysql -h ENDPOINT -u USERNAME -p pero no desde phpMyAdmin o sus propios scripts web, no olvide decirle a selinux que deje que su servidor web hable con la red :)

sudo setsebool -P httpd_can_network_connect=1
 0
Author: Egg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-27 14:53:51

Uso ubuntu shell para acceder a Amazon RDS. en primer lugar ir a ubuntu root

sudo -i

Para hacer esto use la URL del usuario final de amazon RDS

mysql -h gelastik.cqtbtepzqfhu.us-west-2.rds.amazonaws.com -u root -p
 -1
Author: chamodck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-11 14:05:39