2010-12-09 28 views
22

No consigo PHPMyAdmin para conectarme a mi instancia de Amazon RDS. He otorgado permisos para mi dirección IP al Grupo de seguridad de DB, que tiene acceso a esta base de datos a la que intento acceder. Esto es lo que estoy trabajando ...Uso de PHPMyAdmin para administrar Amazon RDS

$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 de si mi configuración es correcta ...

que estoy recibiendo este error: #2013 - Lost connection to MySQL server at 'reading initial communication packet', system error: 110

Alguien tiene algún consejo ?

Respuesta

16

me encontré con la mayoría de las respuestas en esta explicación pregunta falta.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 (uso vi, nano o cualquier otra herramienta de edición de texto favorito):

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 
*/ 

anexar el siguientes líneas anteriormente el "Fin de la configuración servidores" línea:

$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 que se muestra en el cuadro de selección de la página de inicio de sesión phpMyAdmin. Si elimina esta línea, todo el nombre de host RDS se mostrará en el cuadro de selección (que es demasiado largo, obviamente). Recuerde guardar el config.inc.php.

Existen otras configuraciones de configuración, que puede encontrar en el official documentation.


Nota: La otra respuesta sugiere inicio de sesión automático con nombre de usuario preestablecida & contraseña 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 se expone al público. No quiere mostrar el esquema de su base de datos a todos, ¿verdad? Si realmente desea utilizar el inicio de sesión automático, asegúrese de que su phpMyAdmin solo sea accesible a través de direcciones IP específicas.

13

Debe agregar la instancia de RDS como un servidor adicional enumerado en PHPMyAdmin mientras otorga al host PHPMyAdmin acceso a su instancia de RDS.

Más detalles de esta entrada del blog sobre How to remotely manage an Amazon RDS instance with PHPMyAdmin:

The one thing I had trouble with was the DB Security Group setup. When you go to add access for an CIDR/IP it provides a recommended value. It took some messing around to determine that this default value isn’t actually what needed to be there. If you’re not able to connect to your instance when it’s all said and done, be sure to double check this value. The IP they provided did not match the IP address that was provided to us by our ISP. Once you’ve created your DB Instance and setup the security group you’re good to go.

I’m going to assume you’ve already got PHPMyAdmin up and running. What you need to do is modify config.inc.php to recognize the new server.

+15

No solo publique enlaces como respuesta. Publique la respuesta como texto y, si es necesario, proporcione el enlace para obtener una explicación más detallada. De esta forma, si el enlace cae muerto, la respuesta seguirá allí. –

+2

He ajustado mi publicación – Webnet

+0

Si su RDS está en una VPC Con respecto a los grupos de seguridad, AWS tiene un tutorial sobre la conexión de EC2 a RDS dentro de una VPC aquí: http://docs.aws.amazon.com /AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html En particular, debe editar la regla de entrada del grupo de seguridad VPC para agregar el ID del grupo de seguridad en el que se encuentra su instancia EC2 (o si no usa EC2, entonces la IP del servidor al que desea acceder al RDS) – Baxny

8

intenta conectarse desde la línea de comandos de MySQL (http://dev.mysql.com/doc/refman/5.1/en/mysql.html) y vea qué devuelve esta utilidad. Descubrí 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).

+0

Usar un grupo de seguridad incompatible causará esto, gracias. – SleighBoy

+0

Esto me ayudó a descartar RDS, nombre de host, nombre de usuario y contraseña. Desafortunadamente, no importa cómo configuré mi configuración, sigo obteniendo # 2002 – trex005

21

En Debian Lenny con el phpMyAdmin desde el repositorio añadir 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'; 
+2

Encontré que especificar el puerto ocasionó un error de inicio de sesión. También puede usar la cookie 'auth_type' y no especificar usuario y contraseña. – icc97

0

que tenían el mismo problema y nada de lo anterior resuelto.

Como resultó, la cosa estaba en la opción "Accesible públicamente" de la instancia de RDS. Cuando crea su instancia, esta opción es "no" de manera predeterminada y no hay lugar donde pueda cambiarla.

Sin embargo, después de crear la instancia de RDS puede hacer su instantánea, luego eliminar la instancia y luego iniciar la instantánea. En las opciones de lanzamiento, simplemente configure "Accesible públicamente" a "Sí" y su phpMyAdmin finalmente lo verá en el servidor RDS MySql.

Tenga en cuenta que el DNS de la instancia original RDS y la Snaphot son diferentes por lo que tendría que cambiar su 'huésped' en config.inc.php

Saludos :)

-1

yo uso ubuntu Shell para el acceso Amazon RDS. en primer lugar ir a la raíz ubuntu

sudo -i 

hacer esto utilizar Amazon RDS URL usuario final

mysql -h gelastik.cqtbtepzqfhu.us-west-2.rds.amazonaws.com -u root -p 
4
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. Refrescar la página phpMyAdmin y verá un menú desplegable con el servidor que acaba de agregar enter image description here

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

0

primer lugar, pruebe esto:

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

Si espera y no solicita la contraseña, entonces deberá verificar el grupo de seguridad y agregar 3306 de salida a su Nivel web.

Cuestiones relacionadas