🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Conectar base de datos remota en MySQL Workbench

Actualizado el 11 de abril de 2026

Conectar a una base de datos remota desde tu computadora local es una tarea habitual para cualquier desarrollador, SysAdmin o persona que gestiona aplicaciones web. MySQL Workbench es la herramienta gráfica más popular para administrar bases de datos MySQL y MariaDB, y te permite trabajar con servidores que están en la nube, en un VPS o en un servidor dedicado.

En este tutorial completo, te explicaré paso a paso cómo configurar una conexión remota en MySQL Workbench. Abordaremos desde la configuración del servidor (incluyendo cómo hacerlo si usas Syspanel), hasta la resolución de los problemas más comunes. Al final, tendrás una guía de referencia para conectar sin dolores de cabeza.


Requisitos previos para la conexión remota

Antes de abrir MySQL Workbench, asegúrate de tener lo siguiente:

  • MySQL Workbench instalado en tu computadora local. Puedes descargarlo desde el sitio oficial de MySQL.
  • Dirección IP o nombre de dominio del servidor donde está alojada la base de datos.
  • Puerto de conexión MySQL. Por defecto es el 3306, pero puede variar si lo cambiaste por seguridad.
  • Credenciales de acceso: nombre de usuario y contraseña de un usuario MySQL con permisos de conexión remota.
  • Acceso administrativo al servidor (por SSH o panel de control) para hacer cambios de configuración si es necesario.

[INFO] Si tu servidor usa Syspanel (anteriormente conocido como HestiaCP), el acceso administrativo al panel se hace por el puerto 2106. Ahí podrás gestionar usuarios de base de datos y permisos.


Paso 1: Configurar el servidor MySQL para aceptar conexiones remotas

Por defecto, MySQL solo escucha conexiones locales (localhost). Para permitir conexiones desde otras máquinas, debes modificar su archivo de configuración.

1.1 Accede al servidor por SSH

Abre una terminal (o usa PuTTY en Windows) y conéctate a tu servidor:

ssh usuario@ip-del-servidor

1.2 Editar el archivo de configuración de MySQL

El archivo principal suele ser /etc/mysql/mysql.conf.d/mysqld.cnf o /etc/my.cnf. Busca la línea que dice bind-address.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Dentro del archivo, localiza:

bind-address = 127.0.0.1

Cámbialo por:

bind-address = 0.0.0.0

Esto le indica a MySQL que escuche en todas las interfaces de red. También puedes poner la IP específica de tu servidor si lo prefieres.

Guarda los cambios (Ctrl+O, Enter, Ctrl+X en nano).

1.3 Reiniciar el servicio MySQL

Para que los cambios surtan efecto:

sudo systemctl restart mysql

[TIP] Si usas Syspanel, puedes reiniciar MySQL desde el panel en Servicios > MySQL > Reiniciar. Recuerda que accedes por el puerto 2106.


Paso 2: Configurar el firewall del servidor

El firewall debe permitir tráfico entrante en el puerto de MySQL (3306 por defecto).

2.1 Si usas UFW (Ubuntu/Debian)

sudo ufw allow 3306/tcp
sudo ufw reload

2.2 Si usas firewalld (CentOS/RHEL)

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

2.3 Si tu servidor tiene un panel como Syspanel

Ve a Seguridad > Firewall y agrega una regla para el puerto 3306/TCP desde tu IP o desde cualquier origen (0.0.0.0/0) si es necesario.

[WARNING] Abrir el puerto 3306 a todo el mundo es un riesgo de seguridad. Te recomiendo restringirlo solo a las IPs que necesitan acceso (por ejemplo, la IP de tu casa o de tu oficina).


Paso 3: Crear o modificar un usuario MySQL con permisos remotos

No todos los usuarios de MySQL pueden conectarse desde fuera. Debes asegurarte de que el usuario tenga un host distinto de localhost.

3.1 Conéctate a MySQL localmente en el servidor

sudo mysql -u root -p

3.2 Crear un nuevo usuario con acceso remoto

CREATE USER 'nombre_usuario'@'%' IDENTIFIED BY 'contraseña_segura';

El símbolo % significa "cualquier host". Si quieres limitarlo a una IP específica, usa 'nombre_usuario'@'192.168.1.100'.

3.3 Otorgar permisos a una base de datos

GRANT ALL PRIVILEGES ON nombre_base_datos.* TO 'nombre_usuario'@'%';
FLUSH PRIVILEGES;

Si quieres dar acceso a todas las bases de datos:

GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'%';

3.4 Verificar los permisos

SELECT user, host FROM mysql.user;

Deberías ver tu usuario con el host % o la IP que configuraste.

[INFO] Si usas Syspanel, puedes crear usuarios de base de datos desde el panel en Bases de Datos > Añadir Usuario. Allí mismo puedes asignarle una base de datos y elegir "Cualquier host" para permitir conexiones remotas.


Paso 4: Configurar la conexión en MySQL Workbench

Ahora que el servidor está listo, vamos a configurar MySQL Workbench en tu computadora.

4.1 Abre MySQL Workbench

Verás la pantalla de inicio con una lista de conexiones existentes.

4.2 Haz clic en el botón "+" para agregar una nueva conexión

Se abrirá una ventana con varios campos.

4.3 Completa los datos de conexión

  • Connection Name: Ponle un nombre descriptivo, por ejemplo "Servidor Producción".
  • Connection Method: Deja "Standard (TCP/IP)".
  • Hostname: La IP pública o el dominio de tu servidor.
  • Port: 3306 (o el que hayas configurado).
  • Username: El nombre de usuario MySQL que creaste.
  • Password: Haz clic en "Store in Keychain" e ingresa la contraseña.

4.4 Prueba la conexión

Haz clic en el botón "Test Connection". Si todo está bien, verás un mensaje verde de éxito.

4.5 Guarda y conecta

Haz clic en OK para guardar la conexión. Luego haz doble clic en ella desde la pantalla principal para abrir el editor de consultas.


Solución de problemas comunes (FAQ)

Aquí tienes las preguntas más frecuentes que recibimos en soporte técnico.

❌ "Can't connect to MySQL server on 'ip' (10061)"

Causa: El servidor no está escuchando en el puerto o el firewall lo bloquea.

Soluciones:

  • Verifica que MySQL esté corriendo: sudo systemctl status mysql.
  • Confirma que bind-address esté en 0.0.0.0.
  • Revisa las reglas del firewall (UFW, firewalld, o Syspanel).
  • Desde tu computadora, prueba con telnet ip 3306 para ver si el puerto está abierto.

❌ "Access denied for user 'user'@'your_ip'"

Causa: El usuario no tiene permisos para conectarse desde tu IP.

Soluciones:

  • Verifica el host del usuario en MySQL: SELECT user, host FROM mysql.user;
  • Si el host es localhost, debes cambiarlo a % o a tu IP específica.
  • Ejecuta: UPDATE mysql.user SET host='%' WHERE user='nombre_usuario'; FLUSH PRIVILEGES;

❌ "Lost connection to MySQL server at 'reading initial communication packet'"

Causa: Problema de red o el servidor MySQL está configurado para no aceptar conexiones TCP.

Soluciones:

  • Verifica que skip-networking no esté activo en el archivo de configuración. Debe estar comentado o en 0.
  • Asegúrate de que el puerto 3306 no esté siendo usado por otro servicio.

❌ No puedo conectarme si uso Syspanel

Causa: Syspanel (HestiaCP) a veces configura MySQL para escuchar solo en localhost por defecto.

Soluciones:

  • Accede a Syspanel por el puerto 2106.
  • Ve a Servicios > Configuración de MySQL y cambia bind-address a 0.0.0.0.
  • Reinicia MySQL desde el mismo panel.
  • No olvides abrir el puerto 3306 en el firewall de Syspanel.

[TIP] Si después de todo no funciona, verifica que el servidor no tenga un firewall externo (como el del proveedor de hosting o VPS) bloqueando el puerto. Muchas veces hay que abrirlo desde el panel de control del proveedor.


Buenas prácticas de seguridad para conexiones remotas

Conectar una base de datos a internet siempre implica riesgos. Sigue estas recomendaciones:

  • Usa contraseñas fuertes: mínimo 16 caracteres, con mayúsculas, minúsculas, números y símbolos.
  • Restringe el acceso por IP: en lugar de %, usa la IP de tu oficina o casa.
  • Cambia el puerto por defecto: si puedes, usa un puerto no estándar (ej. 3307) para evitar escaneos automáticos.
  • Habilita SSL/TLS: MySQL Workbench soporta conexiones SSL. Configúralo en el servidor y marca la opción "Use SSL" en la conexión.
  • Mantén MySQL actualizado: las versiones antiguas tienen vulnerabilidades conocidas.
  • Monitorea los logs: revisa /var/log/mysql/error.log periódicamente.

[WARNING] Nunca compartas tus credenciales de base de datos por correo electrónico o mensajes no cifrados. Si necesitas dárselas a un colega, usa un gestor de contraseñas o un canal seguro.


Conclusión

Conectar una base de datos remota en MySQL Workbench es un proceso que combina configuración del servidor, ajustes de red y permisos de usuario. Siguiendo los pasos de este tutorial, podrás establecer una conexión estable y segura en pocos minutos.

Recuerda que la clave está en:

  1. Configurar MySQL para escuchar en todas las interfaces.
  2. Abrir el puerto en el firewall.
  3. Crear un usuario con permisos remotos.
  4. Probar la conexión desde Workbench.

Si encuentras errores, revisa la sección de FAQ: la mayoría de los problemas se resuelven verificando el bind-address, el firewall o los permisos del usuario.

Y si tu servidor corre Syspanel, no olvides que el acceso al panel es por el puerto 2106 y que desde allí puedes gestionar cómodamente usuarios y reiniciar servicios.

Ahora ya estás listo para administrar tus bases de datos desde cualquier lugar. ¡Buena suerte con tus proyectos!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel