Conectarse a una base de datos mediante un programa de terceros

Generalidades

A continuación se describe cómo conectarse a tu(s) base de datos(s) DreamHost utilizando un programa de terceros.

Si tienes un plan de DreamPress DreamPress, solo puedes acceder a tus bases de datos MySQL asociadas utilizando cualquiera de los siguientes métodos:

Actualizando el campo Allowable Hosts en tu panel

Primero debes dar permiso a tu máquina local para conectarse al servidor de la base de datos. Esto se puede hacer agregando información al campo de Allowable Hosts permitidos en tu panel.

Para otorgar permiso para cuentas de usuario de MySQL:

  1. Navega a la página MySQL Databases en el panel.
  2. Bajo la sección Database(s) on this server:, encuentra la sección deseada, luego haz clic en el enlace Users with access para el usuario al que deseas darle acceso.
  3. Desplázate hacia abajo a la sección Allowable Hosts e ingresa el dominio o subdominio con el que tu máquina local se identifica en el internet público. Debes incluir uno de los siguientes:
    • Tu dirección IP publica
    • Tu dominio/subdominio de origen público (tal como rr.com, mindspring.com, comcast.com, y demás)

    Para identificar tu dirección IP pública, ve a What is My IP?.

    Tu dirección publica también se muestra en el panel después de editar tu usuario MySQL. Najo la sección Allowable Hosts dice:

    Your current computer is: XXX.XXX.XXX.XXX

    Puedes copiar y pegar esta dirección IP en el campo Allowable Hosts.

    • Habilitar %.example.com no habilita el nombre de host 'example.com' por sí mismo.
    • I recibes un error "access denied to username@xxx.xxx.xxx.xxx-ip.provider.info", intenta añadir un comodín al final de la IP (tal como xxx.xxx.xxx.xxx%).
  4. Cuando hayas finalizado, haz clic en el botón Modify [username] now!.
  5. Inicia tu programa de terceros e ingresa las credenciales de tu base de datos para conectarte.

Conexión mediante un programa de terceros y un túnel SSH seguro

Este ejemplo usa PuTTY y MySQL Workbench para conectarse usando un túnel SSH.

Este método se prefiere a los métodos menos seguros, ya que proporciona cifrado de punto a punto y no expone su cuenta MySQL a posibles ataques de redes permitidas.

Paso 1 — Habilita SSH en tu cuenta

Consulta el siguiente artículo para obtener instrucciones sobre cómo permitir el acceso SSH al usuario de tu sitio web.

Paso 2 — Configura un inicio de sesión sin contraseña

Ve el siguiente artículo para habilitar el inicio de sesión sin contraseña en PuTTy. Este paso carga la clave pública en tu servidor y descarga la clave privada en formato OpenSSH.

Paso 3 — Lanza PuTTY

  1. Descarga y lanza PuTTy.
    putty configuration
  2. En el árbol de categorías a la izquierda, haz clic en Connection > SSH > Tunnels.
  3. Ingresa 3306 en la casilla source port.
  4. Ingresa el nombre de host de tu MySQL y puerto en el campo destination (e.j., mysql.example.com:3306).
  5. Deja los botones radiales seleccionados para Local Auto.
  6. Haz clic en el botón Add para guardar.
    putty configuration
  7. Haz clic en Session en el árbol de categoría.
  8. Ingresa la URL de tu servidor en el campo Host Name (e.j., servername.dreamhost.com o psxxxxxx.dreamhostps.com).
  9. Configura el puerto a 22.
  10. Configura el Connection type a SSH.
  11. Dale a tu sesión un nombre bajo Saved Sessions.
  12. Haz clic en Save.
    El nombre de la nueva sesión aparece en la lista.
    putty configuration
  13. Haz clic en el nombre de la nueva sesión para resaltarlo.
  14. Haz clic en el botón Open.
    Ingresa tu usuario shell y contraseña en la terminal para iniciar sesión.

Paso 4 — Usa una herramienta de terceros para iniciar sesión

Abre la herramienta de terceros, como MySQL WorkBench.

putty configuration

Configura lo siguiente:

  • Connection Method: Déjalo como Standard (TCP/IP).
  • Hostname: Deja este conjunto como 127.0.0.1. Esto utilizará la conexión PuTTY que acabas de crear. Si tu aplicación de terceros no permite la URL, prueba con localhost en su lugar.
  • Port: 3306.
  • Username: Ingresa el nombre de usuario de tu base de datos.
  • Password: Ingresa la contraseña de tu nombre de usuario de la base de datos.
  • Haz clic en OK y tú ya deberías haber iniciado sesión en tu base de datos.
  • Tu sesión de PuTTY debe estar activa y debes iniciar sesión para que el túnel funcione.
  • Si estás ejecutando una base de datos MySQL local, puedes especificar un puerto diferente para tu túnel. De lo contrario, no puedes acceder a tu conexión mysql local mientras el túnel está activo.
Para especificar un puerto diferente:
  1. Ingresa un número diferente (por ejemplo, 3307) en el campo del puerto de origen en Tunnels en PuTTY.
  2. Usa el mismo número que tu puerto en el campo Puerto de administrador de MySQL.
Tu puerto de destino debe seguir siendo 3306. La idea es que esté enviando datos al puerto 3307 en tu extremo, los datos se envían a través del túnel y luego se desvían al puerto 3306 en el extremo de DreamHost

Conexión mediante inicio de sesión sin contraseña con un programa de terceros

Este método utiliza PuTTY y MySQL Workbench con claves SSH para iniciar sesión en tu base de datos mediante un inicio de sesión sin contraseña.

Paso 1 — Habilita SSH en tu cuenta

Consulta el siguiente artículo para obtener instrucciones sobre cómo permitir el acceso SSH al usuario de tu sitio web.

Paso 2 — Configura un inicio de sesión sin contraseña

Ve el siguiente artículo para habilitar el inicio de sesión sin contraseña en PuTTy. Este paso carga la clave pública en tu servidor y descarga la clave privada en tu computadora.

La llave privada que subes a MySQL Workbench debe estar en formato OpenSSH o no podrás conectarte. MySQL Workbench dice lo siguiente:

MySQL Workbench no acepta directamente las claves PuTTY predeterminadas. Sin embargo, puedes convertir un archivo PuTTY Private Key (ppk) existente a formato OpenSSH utilizando la utilidad PuTTY Key Generator (PuTTYGen).

Paso 3 — Usa una herramienta de terceros para iniciar sesión

Abre la herramienta de terceros, como  MySQL WorkBench.

putty configuration

Configura lo siguiente:

  • Connection Method: Elige TCP/IP estándar sobre SSH en el menú desplegable.
  • SSH Username: Ingrese el nombre de usuario de shell para el que acaba de habilitar el inicio de sesión sin contraseña.
  • SSH Password: NO ingreses la contraseña de tu usuario SSH.
  • SSH Key File: Carga la clave privada con formato OpenSSH que creaste anteriormente al configurar el inicio de sesión sin contraseña.
  • MySQL Hostname: El nombre de host que usas para iniciar sesión en tu base de datos (e.j., mysql.example.com). Si tu aplicación de terceros no soporta la URL, intenta localhost en su lugar.
  • MySQL Server Port: Ingresar 3306 como el puerto.
  • Username: Ingresa el nombre de usuario de tu base de datos.
  • Password: Ingresa la contraseña de tu nombre de usuario de la base de datos.
  • Haz OK y debes iniciar sesión en tu base de datos.

Conectar usando SSH

Si estás corriendo un servidor local MySQL en el puerto 3306, debes configurar el reenvío de puerto en tu ~/.ssh/config, de la siguiente manera:

  1. Ingresa la siguiente configuración:
    Host your_nickname_for_your_host
         HostName        your_dh_host_name.dreamhost.com
         User            your_shell_account_user_name
         LocalForward    3307 your_full_db_host_name:3306
    
  2. Ingresa lo siguiente para conectarte:
    [server]$ ssh your_nickname_for_your_host
    [server]$ mysql -h 127.0.0.1 -P 3307 -u db_user_name -p
  3. Opcionalmente, usa la siguiente línea de comando:
    [server]$ ssh -4fNg -L 3307:your_full_db_host_name:3306 your_shell_account_user_name@your_dh_host_name.dreamhost.com 
  4. Conéctate con mysql de la manera anterior.
  • A pesar de agregar localhost como un host válido para tu usuario en la página MySQL Databases puedes encontrar este mensaje de error:
ERROR 1045 (28000): Access denied for user 'db_user_name'@'localhost' (using password: YES)
Usa 127.0.0.1 en lugar de localhost (está bloqueado por DreamHost).
  • Si te estás conectando a través de la línea de comando, debes usar el indicador MySQL -P y especificar el puerto 3307 como se muestra a continuación:
[server]$ mysql -u username -p -h 127.0.0.1 -P 3307

Conexión con Sequel Pro (Mac OSX)

Si estás usando Apple Mac OSX, puedes usar el programa código abierto Sequel Pro para conectarte a una base de datos DreamHost MySQL.

Para conectarte con tu base de datos DreamHost usando Sequel Pro:

  1. Usa la pestaña de conexión Standard e ingresa lo siguiente:
    • Name: [opcional]
    • Host: [Tu nombre de host MySQL: mysql.example.com]
    • Username: [El nombre de usuario de tu base de datos]
    • Password: [La contraseña de usuario de tu base de datos]
    • Database: [opcional]
    • Port: [3306]
  2. Haz clic en Connect.

Una vez que esté conectado, seleccione la base de datos del menú desplegable en la parte superior izquierda.

Un método más seguro es utilizar la pestaña SSH al crear la conexión/favorito. Primero debes configurar un usuario para el acceso SSH en la página Manage Users en tu panel DreamHost. Con estos detalles en la mano, puedes configurar las siguientes opciones adicionales:

  • SSH Host: [ Nombre de host SSH]
  • SSH User: [Nombre de usuario de un usuario con SSH habilitado]
  • SSH Password: [Contraseña para la cuenta]
  • SSH Port: [22]

Conexión a tu base de datos MySQL usando phpMyAdmin de DreamHost en tu propio dominio

Visita el artículo phpMyAdmin para más detalles.

Ver también

 

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?