2012-09-14 34 views
5

nuevo a la conexión a bases de datos y no tienen idea de por dónde empezar a solucionar -HeidiSQL la conexión al servidor MySQL - Se perdió la conexión ... servidor en la lectura inicial

Actualmente estoy usando HeidiSQL para conectarse a una base de datos MySQL externa Servidor alojado en Amazon Web Service - EC2.

estoy en condiciones de acceder a la base de datos utilizando HeidiSQL con los ajustes: MySQL (túnel SSH) Nombre/IP: 127.0.0.1 usuario: (usuario) contraseña (PW) puerto 3306

en la pestaña túnel SSH: ubicación plink.exe se establece en putty.exe sshhost + port: (mi IP del equipo) el puerto 22 archivo de clave privada: (se fija) puerto local: 3307

Usando esta configuración de E AM capaz de iniciar sesión en mi base de datos. Mi problema es cuando estoy tratando de hacerlo con mis propios comandos masilla utilizando el reenvío de puertos:

En Masilla: puse SSH> túneles - puerto de origen: 3307, destino (mi ip host): 3306 local y Auto. conecto usando mis contraseñas y hostip

Volver a HeidiSQL, puse mi configuración para: MYSL (TCP/IP) nombre de host: localhost usuario: (usuario) contraseña (PW) puerto 3307

e intenta conectarte. Me aparece el siguiente error: SL ERROR (2013): conexión perdida al servidor MySQL en 'lectura del paquete de comunicación inicial', error del sistema: 0

Por lo que he leído, esto significa que mi túnel ssh está funcionando pero algo más Está Mal. Ahora no entiendo por qué esto no funciona. ¿No estoy arreglando algo más correctamente? Firewalling yo mismo? Mi objetivo final es conectar otra aplicación para comunicarme con la base de datos utilizando ODBC o JDBC utilizando la misma idea de reenvío de puertos. ¿Hay registros para verificar en algún lugar?

+0

en el servidor ec2: en/etc/ssh/sshd_config agregó la línea: AllowTcpForwarding yes esto cambió mi mensaje de error a root @ hostip denied. Donde esta raíz es el valor que pongo en HeidiSQL como usuario de mi base de datos - raíz. Con contraseña y sin ella me negó el acceso. ¿Qué otras configuraciones posibles necesito habilitar? – user1639926

Respuesta

0

Parece que estás tratando de hacer esto: http://realprogrammers.com/how_to/set_up_an_ssh_tunnel_with_putty.html Debería funcionar. Supongo que el servidor ssh y el servidor mysql se están ejecutando en la máquina remota.

In Putty: I set SSH>tunnels - source port: 3307, destination (my host ip):3306 Local and Auto. I connect using my passwords and hostip

Debería ser: establecer SSH> túneles - puerto de origen: 3307, destino 127.0.0.1:3306 local y Auto.

HeidiSQL: MYSL (TCP/IP) nombre de host: localhost user: (usuario) Puerto contraseña (PW) 3307

Tenga en cuenta que si usted tiene un servicio MySQL se ejecuta en el equipo local, en el puerto de su tratando de escucha (3307) obtendrás un error de 2013, ¡incluso si el servicio local no funciona! En ese caso, use cualquier puerto arbitrario no utilizado.

Además, si el servidor remoto mysql tiene la tabla de usuario (base de datos mysql) restringida a ciertos hosts esto no funcionará. A menos que descubras cómo el servidor se reconoce a sí mismo (nombre de la computadora) y lo agrega a la tabla de usuarios o simplemente usas el comodín '%'.

Cuestiones relacionadas