Archivos de Retrorock

Mysql, Tunnels, SSH…

editado el 21 de marzo del 2010 con ideas de una respuesta en este foro.

Si tenemos acceso a ssh podemos conectarnos a una base de datos remota usando:

ssh -L8888:mydbhost.mydomain.com:3306 myshelluser@mydomain.com

Luego te conectas a su servidor así:

mysql -u mydbuser -p -h 127.0.0.1 -P 8888

Debes usar 127.0.0.1 en vez de localhost porque si no el servidor va a rechazarte la conexión.

Lo que muestra este post es como conectarse a una base de datos remota usando Windows, Putty, Mysql GUI Tools y Dreamhost.

El problema es que quisiera usar mysql query browser para conectarme a mi base de datos en Dremahost, pero el query browser solo acepta conecciones locales.

La solucion es hacer un tunel (SSH Tunneling) desde nuestra maquina hacia el servidor en Dreamhost y conectar el query browser a traves de ese tunel.

Como se hace

Despues de haber instalado Putty, introducimos los datos del servidor para iniciar una sesión por SSH a nuestro usando el puerto común :22

screen

Antes de iniciar sesión vamos a hacer el tunel, para esto hay que seleccionar en la columna de la izquierda un PUTTY, ssh > tunnels y vamos a asignar un puerto local (9999) al servidor de MySQL en Dreamhost.

screen2

Con esta confiuración cuando iniciemos sesión podemos abrir el Mysql Query Browser y conectarnos al puerto que le asignamos al servidor remoto.

screen3

Python 2.6 & Mysql

Cualquiera que esté programando en Python y use Mysql ya debe haberse encontrado con MysqlDB. También debe haberse dado cuenta que no hay una versión para Python 2.6 en la página de descarga. Esto es bastante desconcertante porque Python se movio a la version 2.6 dias antes de finalizar el 2008 y solo despues anunciaron Python 3.0. Porque MysqlDB no está al día?

Así que estoy estancado con Python 2.5? No necesariamente – Si usas Linux, puedes compilar la fuente de MysqlDB en tu instalacion de Python, o si estas en Windows puedes simplemente descargar este obscuro release de MysqlDB

Artículo original en inglés