sql >> Base de Datos >  >> RDS >> Mysql

Cómo conectarse de forma remota a una base de datos MySQL ubicada en nuestro servidor compartido

Por razones de seguridad, la conexión MySQL remota está deshabilitado en nuestros servidores de alojamiento compartido. Sin embargo, puede configurar fácilmente un túnel SSH entre su computadora y nuestro servidor usando un cliente SSH con el reenvío del puerto 3306 de MySQL.

Después de hacer esto, tendrá el puerto 5522 en su máquina local que escucha y reenvía al host local de su servidor remoto en el puerto 3306. Ahora puede conectarse efectivamente al servidor remoto base de datos MySQL del servidor como si se estuviera ejecutando en su caja local.

NOTA :si está intentando conectarse a PostgreSQL bases de datos, utilice puerto 5432 en lugar de 3306.

A continuación puede encontrar los pasos para configurar un cliente SSH de terceros (PuTTY) y MacOS y Linux integrados en uno (Terminal) .

NOTA :Asegúrese de que el acceso SSH esté habilitado para su cuenta. Siéntase libre de seguir esta guía para verificar la configuración.

Esta es una lista de los detalles que necesitará en el proceso:

Detalles de la conexión SSH :
  • Nombre de host del servidor:server168.web-hosting.com
  • Puerto:21098
  • nombre de usuario de cPanel:prueba de túnel
  • Contraseña de cPanel:cpanel_password


El nombre de host de su servidor será diferente para su cuenta. Puede verificarlo en su correo electrónico de bienvenida para su plan de alojamiento.

Su nombre de usuario y contraseña de cPanel son los que usa para iniciar sesión en su cuenta de cPanel.

El puerto será lo mismo para todos los servidores de alojamiento compartido.

Detalles de MySQL del lado del servidor :
  • Nombre de host del servidor:127.0.0.1
  • Puerto:3306
  • Nombre de la base de datos:tunneltest_db
  • Usuario de la base de datos:tunneltest_user
  • Contraseña de la base de datos:db_user_password


El nombre de host y el puerto de su servidor serán los mismos para todos los servidores de alojamiento compartido.

Su nombre de base de datos, usuario y contraseña son los que especificó al crear la base de datos en el menú Bases de datos MySQL. Si no está familiarizado con este menú, no dude en consultar este artículo.

Detalles del túnel :
  • IP local:127.0.0.1
  • Puerto local:5522
  • IP remota:127.0.0.1
  • Puerto remoto:3306


Su dirección IP y puerto locales pueden cambiarse según sus preferencias.

Dado que algunos de nuestros clientes ejecutan servidores MySQL locales en el puerto 3306, usemos el 5522 port en este ejemplo para garantizar que ningún servicio utilice el puerto local.

Su dirección IP y puerto remotos deben coincidir con el nombre de host y el puerto del servidor de Detalles de MySQL del lado del servidor y no se puede cambiar.

Detalles de MySQL del lado del cliente :
  • Nombre de host del servidor:127.0.0.1
  • Puerto:5522
  • Nombre de la base de datos:tunneltest_db
  • Usuario de la base de datos:tunneltest_user
  • Contraseña de la base de datos:bCsLHA5xs8AQ


Estos son los detalles de acceso que usará al final de la aplicación o el sitio web que intenta conectar a la base de datos de forma remota. El nombre de host y el puerto de su servidor deben coincidir con la IP local y el puerto de Detalles del túnel .

El nombre de su base de datos, el usuario y la contraseña deben coincidir con los valores correspondientes de Detalles de MySQL del lado del servidor .



Conéctese con PuTTY
Conéctese con Terminal (para Linux y MacOS)



Conectar con PuTTY

1. Ejecute la aplicación.
2. Ir a la Conexión pestaña de 'Datos ' y asegúrese de que el Iniciar sesión automáticamente está vacío (también puede completar su nombre de usuario de cPanel allí), y el 'Prompt La opción ' está marcada:



3. Ir a la Conexión>> SSH>> Túneles sección y complete los valores mencionados en Detalles del túnel de la siguiente manera:
Puerto de origen =Puerto local
Destino =RemoteIP:RemotePort

Asegúrese de que el 'Local ' está marcado y luego haga clic en Agregar :



Una vez que haya hecho esto, debería ver el túnel en el campo arriba:



4. Ir a la Sesión y complete el nombre de host y el puerto utilizando el nombre de host y el puerto del servidor de sus detalles de conexión SSH . Ahora elija un nombre para este ajuste preestablecido y escríbalo en el campo Sesiones guardadas. Haga clic en Guardar para guardar esta configuración.



5. Ahora haga clic en Abrir para establecer una conexión con el servidor.

NOTA :Dado que ya guardó la configuración de su sesión, puede omitir los pasos 1 a 4 la próxima vez que desee abrir un túnel SSH.

Simplemente seleccione el ajuste predeterminado guardado de la lista, haga clic en Cargar y Abrir para usarlo.

6. Cuando se conecte al servidor por primera vez, aparecerá una alerta de seguridad. Haga clic en Aceptar para continuar.



7. Ahora se le pedirá que ingrese su nombre de usuario y contraseña de cPanel que se encuentran en sus detalles de conexión SSH .

NOTA :Los símbolos no aparecerán en el terminal cuando ingrese la contraseña. Es la forma de Terminal de mantener su contraseña segura.

Una vez que se acepta la contraseña, aparecerá un aviso del servidor. El túnel SSH ahora está establecido y todas las conexiones a localhost a través del puerto 5522 se reenviarán a su cuenta de alojamiento.



NOTA :El túnel SSH funcionará mientras esta ventana esté activa. NO cierre esta ventana hasta que haya terminado de trabajar con la base de datos.

Ahora podemos conectarnos a una base de datos en el servidor de alojamiento compartido utilizando los detalles de MySQL del lado del cliente con cualquier cliente MySQL. Por ejemplo:






Conectar con Terminal (para Linux y MacOS )


1. Ejecute la aplicación e ingrese el siguiente comando:

ssh -f [email protected] -p21098 -L 5522:127.0.0.1:3306 -N

"[email protected] -p21098" se completa con detalles de conexión SSH :
[cuenta de cpanel]@[nombre de host del servidor] -p[puerto]

"-L 5522:127.0.0.1:3306" se completa con Detalles del túnel :
[Puerto local]:[IP remota]:[Puerto remoto]

La dirección IP local no se especifica en este caso y el valor predeterminado es 127.0.0.1

2. Presiona Enter y especifica tu contraseña de cPanel (los símbolos no aparecerán en el terminal cuando ingreses la contraseña; es la forma en que Terminal mantiene tu contraseña segura).

Si es la primera vez que te conectas a este servidor, aparecerá el siguiente mensaje:¿Está seguro de que desea continuar conectándose (sí/no)? Escriba y presione enter para continuar.

3. Una vez que haya hecho esto, todas las conexiones a localhost a través del puerto 5522 se reenviarán a su cuenta de alojamiento. Ahora podemos conectarnos a una base de datos en el servidor de alojamiento compartido utilizando los detalles de MySQL del lado del cliente con cualquier cliente MySQL.

Este es un ejemplo usando un cliente MySQL de línea de comandos:

mysql -h 127.0.0.1 -P 5522 tunneltest_db -p -u tunneltest_user

El resultado final se verá así:





¡Eso es todo!