Como conectarse remotamente a Mysql

Desde
1 Oct 2019
Mensajes
2,336
Reacciones
2,121
Honor
541
Doy por hecho que en el lado del server , todo está funcionando correctamente, es decir, se está ejecutando Mysql correctamente, y que tienes una utilidad de manejo de tablas, bien sea Navicat o SQLyog, pues en este manual no trataré , de cómo instalar Mysql ó la utilidad de manejo de tablas, si bien esta ultima la usaremos (en la máquina del server) para crear el usuario que tiene acceso remotamente al server Mysql.

1 - Driver de conexión con la base de datos, es necesario para conectarse con futuras herramientas de administración del server, con Navicat ó SQLyog, no es necesario, ya que ellos llevan su driver propio de conexión, lo podéis descargar desde esta dirección:

MySQL Connector/ODBC 5.1

Elige el correcto para tu sistema operativo.
2 - Utilidad de administración Mysql (opcional), si tienes Navicat ó SQLyog, no es necesaria, pero si no es así, es desde esta [Mysql administration] desde la que hay que crear el usario.

MySQUI Tools

CREAR USUARIO REMOTO
Debemos crear un usuario que tenga acceso al server desde el exterior, todas las acciones de creación de usuario, se llevan acabo desde la maquina donde está el server, no remotamente. Normalmente tú te conectas a él mediante root@localhost. O sea Usuario root, - Máquina local (127.0.0.1), y necesitamos, mejor , crear un nuevo usuario, que modificar los permisos del usuario existente root, para que este pueda acceder a la DB desde fuera. Veras, hay tres modos de conexión:

1º Localhost , ya te he explicado que es el localhost
2º IP conocida del cliente remoto ej: 192.168.1.50 (si es privada) ó 80.58.61.250 (pública)
3º "%"sin comillas, que significa desde cualquier IP, publica, privada, o local
Este último "%", es que vamos a usar, ya que nos permitirá conectarnos desde cualquier dirección de red (desconocida), muy útil también, cuando nuestra IP es dinámica (asignada por DHCP)

En Navicat, y en SQLyog se crea con la misma jerarquía. Necesitamos obligatoriamente conectarnos a la DB, es decir Mysql debe estar funcionando, para poder crear un usuario, en ambos casos. Con Mysql administration, se hace de la misma forma, no voy a poner imágenes de este, porque creo que con las dos capturas, queda claro como se hace.
En Navicat: una vez conectados, pulsamos Manage Users (1), en la siguiente pantalla Add User (2), a continuación creamos el usuario (3), en la imagen es root, ponemos el Password ¡lo anotamos!, pulsamos OK, y en la ventana de atrás, seleccionamos root@% (4), y le asignamos todos los permisos, para luego pulsar Save (5). ¡Ya está creado!

En SQLyog: como puedes ver es prácticamente el mismo procedimiento. Finalizamos pulsando [Create...]
Con esto el usuario remoto ha sido creado.

Enrutamiento

Ahora le toca al router, ni que decir tiene, que se trata del router al que está conectado el server Mysql, y como requisito imprescindible, el server debe tener una dirección fija en tu red, en mi caso le he asignado, como puedes ver en la captura, [192.168.1.50]. En el caso de ser un Host de alquiler, es de lógica que conozcas su dirección [DNS] y tienes que consultar con el propietario, como habilitar puertos en este (lo desconozco).

En la captura de abajo, puedes ver como he habilitado el puerto 3306 TCP en un router d-link, esta opción suele encontrarse dentro de [opciones avanzadas] y en todos los casos bajo la descripción de [servidor virtual] ó opciones de [seguridad] y port mapping [mapeo de puertos], en ambos casos, puedes ver que los parámetros a introducir son:
Una dirección IP del servidor a permitir el paso, una puerta [port] de entrada/salida, y protocolo TCP únicamente, que es la misma tanto en el ámbito de la red privada, como en su salida ó entrada desde la red pública.

¡Conectándonos!
Bueno, ¡te ha surgido una duda! ¿y si me pretendo conectar a él desde un equipo que no está en mi red? Es decir, el servidor tiene una DNS (publica) vez de una IP (privada) conocida y el equipo desde el que te quieres conectar, tiene otra, vamos, que no estás en la red del router en el que el server Mysql está conectado, para que te quede más claro. Pues la verdad, es que tiene dos soluciones, dependiendo de si la [DNS] del servidor, ó del router del servidor, es fija (estática), ó asignada por el Operador de telefonía [ISP] en este caso se le llama dinámica.

Si te quieres conectar desde la misma red donde está el router, no tienes porque seguir estos pasos, pues conoces la IP (privada) fija que le has asignado, al igual que si es una DNS estática (que conoces), porque el procedimiento es el mismo en ambos casos, solo difiere la "llamada" al servidor
  • a) Conexión con servidor con DNS Dinámico (dirección desconocida)
    Como puedes ver en la captura siguiente, me he abierto una cuenta en DynDns, cosa que no te voy a explicar como se hace, porque, es tan fácil como entrar en la web de ellos y abrila. Mi router, al igual que la inmensa mayoría de los router “modernos†tiene la posibilidad de conectarse con la cuenta de DynDns u otras que tenga prefijadas, y facilitarle al servidor de DNS de ellos cual es la IP publica que te ha asignado tu ISP en el momento en que te conectaste a el, ó reseteas el router, ó se fue la luz y se ha reconectado, en cualquier caso, de cambio de DNS, el router se conecta automáticamente con DyDns y se lo comunica.

Para asegurarte de que todo está correcto, en mi router pulso [DDNS Status Report] que hace una pregunta a DynDns y este le contesta si el nombre del servidor [Host Name], el usuario y contraseña, son los correctos, si todo está correcto, el nombre que le has dado al server, es el que tienes que darle a la utilidad de conexión con la DB, en el ejemplo:
MiServerWoW.dyndns.info , y el router de la maquina desde la que te vas a conectar, resolverá la dirección real del servidor Mysql, preguntándosela a los servidores DNS de tu ISP, y estos a su vez al de DynDns, es por decirte más o menos el camino que hace la petición.

En la captura inferior puedes ver como establezco /creó una nueva conexión con IP Dinámica, la cual llamo Mangos NET.

  • b) Conexión con IP de red, ó DNS estático (conoces la dirección)
    Pues, no tiene mayor misterio que donde introduces el Host Name debes poner la IP privada (192.168.1.50 por ejemplo), ó la DNS estática (80.58.61.250 por ejemplo).
Epílogo

Como ves no es tan complicado, crear una conexión externa, y no morir en el intento, ahora tienes acceso a las DB de tu server WOW, sin necesidad de interferir directamente en la maquina que reside, lo puedes hacer desde un equipo de tu red, desde la casa de tu amigo, desde una PDA, ó desde Sudáfrica.

Esto también es muy útil para aquellos administradores de foros, que quieran tener una copia de la DB del foro en su casa, en vez de en el server donde está instalado, en caso de que el server del foro caiga, y sea irrecuperable, siempre tendrás una copia de el actualizada periódicamente, porque Navicat ó SQLyog, tienen la posibilidad de ser programados con la periocidad que necesites, para conectarse a la DB y hacer un volcado de esta.

Como ves, esto es otro ejemplo de cómo utilizar la conexión remota a Mysql, luego haré otro manual para administrar remotamente a mangos, utilizando este procedimiento de conexión.
 
Última edición:
Desde
16 Sep 2023
Mensajes
1
Reacciones
0
Honor
1
Hi! I've been translating your tutorial as I'm not fluent in the language on how to get WOW Dragonflight up and to my surprise, it's much easier than everything else out there. Thanks for having something so detailed. I'm trying to set up my server so when I'm away traveling, I can connect back to my computer at home. You have mentioned images in the post above but I'm not seeing any. I apologize if this is out of place since I don't speak the same language, but if you could repost that would be fantastic. Thank you in advanced.
 

Crea una cuenta o inicia sesión para comentar

Debes ser usuario para poder dejar un comentario.

¡Regístrate!

Crea una cuenta en nuestra comunidad. ¡Es fácil!

Acceder

¿Ya tienes una cuenta? Accede aquí

3,742Temas
24,621Mensajes
15,332Usuarios
PalerkÚltimo usuario
Top