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

Syspanel: Configurar acceso remoto a base de datos MySQL

Actualizado el 8 de enero de 2026

¿Necesitas acceder a tu base de datos MySQL desde un programa externo, como un gestor de escritorio o una aplicación web que no está en tu mismo servidor? Es una petición muy común, pero por defecto, por razones de seguridad, MySQL solo escucha conexiones locales. Hoy te voy a guiar paso a paso para que configures el acceso remoto a tu base de datos MySQL usando Syspanel, el panel de control que tienes en tu servidor (recuerda que en Syspanel el acceso es por el puerto 2106).

A lo largo de este artículo, no solo te explicaré cómo activar la conexión remota, sino que también te daré consejos clave para mantener tu base de datos segura. Vamos a desglosar todo el proceso, desde la activación en Syspanel hasta la configuración de los usuarios y los cortafuegos. Si sigues cada paso al pie de la letra, en pocos minutos podrás conectar desde cualquier lugar.


¿Qué es el acceso remoto a MySQL y por qué es útil?

Cuando instalas MySQL en un servidor, por defecto solo permite conexiones desde la misma máquina (localhost). Esto significa que tu aplicación web funciona perfectamente, pero si quieres usar un programa como MySQL Workbench, HeidiSQL, DBeaver o Navicat desde tu ordenador personal, no podrás conectar a menos que actives el acceso remoto.

¿Para qué sirve esto?

  • Administración visual: Gestionar tablas, consultas y usuarios desde una interfaz gráfica en tu PC.
  • Desarrollo y pruebas: Conectar desde un entorno local a la base de datos de producción para hacer pruebas controladas.
  • Integraciones: Permitir que aplicaciones externas (como un CRM o un sistema de informes) accedan a tus datos.

Pero ojo, habilitar el acceso remoto sin las debidas precauciones puede exponer tu base de datos a ataques. Por eso, en este artículo te enseñaré a hacerlo de forma segura.

[WARNING] Nunca habilites el acceso remoto a MySQL sin antes configurar un firewall o restringir los usuarios a IPs específicas. Hacerlo podría dejar tu base de datos vulnerable a ataques de fuerza bruta.


Requisitos previos antes de empezar

Antes de lanzarte a configurar, asegúrate de tener lo siguiente:

  1. Acceso a Syspanel: Debes poder iniciar sesión en tu panel Syspanel (puerto 2106). Si no tienes las credenciales, solicítalas a tu proveedor de hosting o administrador del servidor.
  2. Acceso SSH al servidor: Aunque parte de la configuración se hace desde Syspanel, necesitarás entrar por terminal para editar archivos de configuración de MySQL y reiniciar el servicio.
  3. Conocimiento básico de la terminal: Saber escribir comandos y usar nano o vim para editar archivos.
  4. Dirección IP fija o rango de IPs: Idealmente, conocer la IP desde la que te conectarás (tu IP pública) para limitar el acceso solo a ella.

Paso 1: Configurar MySQL para que escuche en todas las interfaces

Por defecto, MySQL solo escucha en 127.0.0.1 (localhost). Para permitir conexiones remotas, debemos cambiar esta configuración.

1.1 Accede por SSH a tu servidor

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

ssh usuario@tudominio.com

O si usas la IP del servidor:

ssh root@192.168.1.100

1.2 Localiza el archivo de configuración de MySQL

El archivo puede llamarse my.cnf o mysqld.cnf y suele estar en /etc/mysql/ o /etc/mysql/mysql.conf.d/.

Por ejemplo, en sistemas Ubuntu/Debian:

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

1.3 Busca la línea bind-address

Dentro del archivo, busca una línea que diga:

bind-address = 127.0.0.1

Cámbiala por:

bind-address = 0.0.0.0

Esto le dice a MySQL que escuche en todas las interfaces de red. También puedes poner una IP específica del servidor (por ejemplo, 192.168.1.100) si solo quieres que escuche en una interfaz concreta.

[TIP] Si usas un servidor con múltiples IPs, usar 0.0.0.0 es más práctico. Pero si quieres máxima seguridad, especifica la IP de la interfaz que usas para la red externa.

1.4 Guarda y cierra el archivo

En nano: Ctrl + O, luego Enter para guardar, y Ctrl + X para salir.

1.5 Reinicia el servicio MySQL

Para que los cambios surtan efecto:

sudo systemctl restart mysql

O en versiones antiguas:

sudo service mysql restart

Paso 2: Crear o modificar un usuario MySQL con acceso remoto

Ahora que MySQL ya escucha en todas las interfaces, necesitamos un usuario que pueda conectarse desde una IP que no sea localhost.

2.1 Accede a la consola de MySQL

Desde la terminal SSH, escribe:

sudo mysql -u root -p

Te pedirá la contraseña root de MySQL (la que configuraste al instalar). Si no la tienes, puedes obtenerla desde Syspanel: ve a la sección de bases de datos y busca la contraseña de tu base de datos (aunque normalmente la contraseña root es diferente).

2.2 Crea un nuevo usuario con permisos remotos

Vamos a crear un usuario que pueda conectarse desde cualquier IP. Esto no es recomendable para producción, pero para pruebas iniciales puede servir. Luego lo restringiremos.

CREATE USER 'usuario_remoto'@'%' IDENTIFIED BY 'tu_contraseña_segura';

Donde:

  • 'usuario_remoto' es el nombre que le quieras dar.
  • '%' significa cualquier IP. Más adelante lo cambiaremos.
  • 'tu_contraseña_segura' debe ser una contraseña fuerte (mayúsculas, minúsculas, números y símbolos).

2.3 Asigna permisos a una base de datos específica

Por ejemplo, para dar acceso total a la base de datos mi_aplicacion:

GRANT ALL PRIVILEGES ON mi_aplicacion.* TO 'usuario_remoto'@'%';

Si quieres dar acceso a todas las bases de datos (no recomendado):

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

2.4 Aplica los cambios

FLUSH PRIVILEGES;

2.5 (Opcional) Restringe el acceso a una IP específica

Para mayor seguridad, en lugar de usar %, puedes especificar la IP desde la que te conectarás. Por ejemplo, si tu IP pública es 203.0.113.50:

CREATE USER 'usuario_remoto'@'203.0.113.50' IDENTIFIED BY 'tu_contraseña_segura';
GRANT ALL PRIVILEGES ON mi_aplicacion.* TO 'usuario_remoto'@'203.0.113.50';

También puedes usar rangos, como 192.168.1.% para toda una subred local.

[INFO] Si no sabes tu IP pública, visita https://whatismyip.com desde el ordenador desde el que te conectarás.


Paso 3: Configurar el firewall del servidor

Aunque MySQL ya escucha en todas las interfaces, el firewall del sistema (como ufw o iptables) puede estar bloqueando el puerto 3306. Además, Syspanel suele tener su propio firewall que debes revisar.

3.1 Abre el puerto 3306 en el firewall del sistema

Si usas ufw (común en Ubuntu):

sudo ufw allow from any to any port 3306 proto tcp

O si quieres restringir a una IP específica:

sudo ufw allow from 203.0.113.50 to any port 3306 proto tcp

Luego verifica:

sudo ufw status

3.2 Revisa el firewall de Syspanel

Syspanel incluye un firewall gráfico. Accede a Syspanel (puerto 2106) y ve a la sección de Firewall o Seguridad. Busca si hay una regla que permita el puerto 3306 desde tu IP. Si no existe, agrégala:

  • Puerto: 3306
  • Protocolo: TCP
  • IP de origen: Tu IP pública (o 0.0.0.0/0 si quieres cualquier IP, pero no lo recomiendo)

[WARNING] No abras el puerto 3306 a todo el mundo (0.0.0.0/0) a menos que sea estrictamente necesario. Es mejor limitarlo a las IPs que lo necesiten.


Paso 4: Probar la conexión remota

Ya tienes todo configurado. Ahora toca probar desde tu ordenador local.

4.1 Desde la línea de comandos (Linux/Mac)

mysql -u usuario_remoto -p -h IP_DEL_SERVIDOR

Te pedirá la contraseña y, si todo está bien, accederás al prompt de MySQL.

4.2 Desde un cliente gráfico (MySQL Workbench, HeidiSQL, etc.)

  • Host: La IP pública de tu servidor.
  • Puerto: 3306 (por defecto).
  • Usuario: usuario_remoto.
  • Contraseña: La que estableciste.

Si la conexión falla, revisa:

  1. Que el firewall del sistema y de Syspanel permitan el puerto 3306.
  2. Que el usuario tenga el privilegio adecuado y esté vinculado a la IP correcta.
  3. Que MySQL esté corriendo y escuchando en 0.0.0.0 (puedes verificarlo con sudo netstat -tlnp | grep 3306).

FAQ: Preguntas frecuentes sobre acceso remoto a MySQL

¿Es seguro habilitar el acceso remoto?

Sí, siempre que tomes precauciones: usa contraseñas fuertes, restringe las IPs permitidas, y configura un firewall. Además, considera usar una VPN o túneles SSH para mayor seguridad.

¿Puedo usar el mismo usuario que uso para localhost?

Sí, pero deberás crear un nuevo usuario con el mismo nombre pero con host '%' o tu IP. No puedes modificar el usuario existente de localhost para que sea remoto sin cambiar su host.

¿Cómo cambio la contraseña de un usuario remoto?

Desde la consola MySQL:

ALTER USER 'usuario_remoto'@'%' IDENTIFIED BY 'nueva_contraseña';
FLUSH PRIVILEGES;

¿Qué hago si no puedo conectar desde mi trabajo pero sí desde casa?

Probablemente tu trabajo tenga un firewall corporativo que bloquea el puerto 3306. En ese caso, puedes cambiar el puerto de MySQL a uno no estándar (ej. 3307) y abrirlo en el firewall, o usar un túnel SSH.

¿Syspanel permite gestionar usuarios MySQL?

Sí, desde Syspanel (puerto 2106) puedes crear y eliminar bases de datos y usuarios, pero la configuración de bind-address y firewall se hace por SSH y en el panel de firewall de Syspanel.


Conclusión: Ya tienes acceso remoto a MySQL

Configurar el acceso remoto a MySQL no es complicado si sigues los pasos adecuados. Recuerda que la seguridad es lo primero: no expongas tu base de datos a todo el mundo, limita las IPs y usa contraseñas robustas.

Con Syspanel tienes una herramienta potente para gestionar tu servidor, pero para tareas más avanzadas como esta, necesitarás combinar el panel con la terminal. Si en algún momento te sientes perdido, vuelve a este artículo y repasa cada sección.

Ahora ya puedes conectar desde tu programa favorito y gestionar tus bases de datos con toda la comodidad de una interfaz local. ¡A trabajar!

[TIP] Si tienes problemas de conexión, verifica primero que el puerto 3306 esté abierto usando herramientas online como canyouseeme.org. Introduce tu IP y el puerto 3306. Si no lo ve, el problema está en el firewall.

¿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