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

Cómo gestionar bases de datos en Syspanel desde la línea de comandos (SSH)

Actualizado el 9 de abril de 2026

Antes de empezar: ¿Qué necesitas para seguir esta guía?

Si estás leyendo esto, es porque quieres tomar el control total de tus bases de datos. Gestionar bases de datos desde la línea de comandos (SSH) puede sonar intimidante, pero en realidad es una habilidad muy valiosa que te permitirá hacer cosas como crear copias de seguridad avanzadas, optimizar consultas o importar archivos muy pesados que a veces fallan desde el panel web.

Para seguir esta guía necesitas tres cosas:

  1. Acceso SSH a tu servidor: Las credenciales de acceso (usuario, contraseña y puerto) las puedes encontrar en tu panel de Syspanel, normalmente en la sección de "Acceso SSH". El puerto suele ser el 22, pero en algunos servidores puede variar.

  2. Un cliente SSH: Si usas Windows, te recomiendo programas como PuTTY o el terminal integrado de Windows 11. Si usas macOS o Linux, ya tienes el terminal integrado.

  3. Las credenciales de tu base de datos: Necesitarás el nombre de la base de datos, el usuario y la contraseña. Esta información la puedes ver y gestionar fácilmente desde Syspanel, accediendo por el puerto 2106 (ejemplo: https://tu-dominio.com:2106).

Una vez que tengas todo esto, estás listo para el siguiente paso. No te preocupes si nunca has usado SSH antes, iremos paso a paso y con ejemplos claros.

Conectándote a tu servidor por primera vez

Lo primero es abrir tu cliente SSH y conectarte a tu servidor. El comando básico es el siguiente:

ssh usuario@tu-servidor.com

Te pedirá la contraseña del usuario principal del servidor. Una vez dentro, verás una pantalla negra con texto, que es el famoso "terminal". No te asustes, es más amigable de lo que parece.

[TIP]: Si tu servidor usa un puerto diferente para SSH, puedes especificarlo con el parámetro -p. Por ejemplo: ssh -p 2222 usuario@tu-servidor.com.

Cuando estés dentro, puedes verificar que todo funciona escribiendo:

whoami

Esto te mostrará el usuario con el que estás conectado. Si ves tu nombre de usuario, ¡perfecto! Ya estás dentro.

Comandos MySQL básicos que debes conocer

Ahora sí, vamos a lo interesante. Los comandos MySQL son las herramientas que usarás para gestionar tus bases de datos. Aquí tienes los más importantes:

1. Acceder a MySQL

Para entrar al intérprete de MySQL, usa este comando:

mysql -u usuario -p

Te pedirá la contraseña del usuario de la base de datos. Si el usuario es el root del servidor, puedes intentar:

mysql -u root -p

[INFO]: En muchos servidores gestionados por Syspanel, el acceso root a MySQL está restringido por seguridad. Si no puedes acceder como root, usa el usuario específico de la base de datos que quieras gestionar.

2. Ver todas las bases de datos

Una vez dentro de MySQL, escribe:

SHOW DATABASES;

Esto te mostrará una lista con todas las bases de datos que existen en tu servidor. Verás algunas por defecto como information_schema o performance_schema, pero las tuyas serán las que tengan el prefijo que hayas configurado.

3. Seleccionar y ver las tablas

Para trabajar con una base de datos específica, primero debes seleccionarla:

USE nombre_de_tu_base;

Luego, para ver todas las tablas dentro de esa base de datos:

SHOW TABLES;

4. Salir de MySQL

Cuando termines, escribe:

EXIT;

O simplemente presiona Ctrl + D para salir del intérprete de MySQL.

Crear y eliminar bases de datos desde SSH

A veces necesitas crear una base de datos nueva sin pasar por el panel web. Es un proceso muy sencillo y directo.

Crear una base de datos

  1. Accede a MySQL como vimos antes.
  2. Ejecuta el siguiente comando:
CREATE DATABASE nombre_de_tu_nueva_base;
  1. Verás un mensaje que dice Query OK, lo que significa que se creó correctamente.

  2. Para salir del intérprete, escribe EXIT;.

[WARNING]: Los nombres de las bases de datos no pueden contener espacios ni caracteres especiales. Usa solo letras, números y guiones bajos (_).

Crear un usuario y asignarle permisos

Normalmente no basta con crear la base de datos, también necesitas un usuario que pueda acceder a ella. Desde SSH puedes hacerlo así:

CREATE USER 'nuevo_usuario'@'localhost' IDENTIFIED BY 'una_contraseña_segura';
GRANT ALL PRIVILEGES ON nombre_de_tu_nueva_base.* TO 'nuevo_usuario'@'localhost';
FLUSH PRIVILEGES;

Eliminar una base de datos

Para eliminar una base de datos, el comando es:

DROP DATABASE nombre_de_tu_base;

[WARNING]: Este comando es irreversible. Borrará todos los datos de esa base de forma permanente. Asegúrate de hacer una copia de seguridad antes de ejecutarlo.

Importar y exportar bases de datos (copias de seguridad)

Esta es una de las tareas más comunes y útiles que puedes hacer desde SSH. Especialmente cuando tienes archivos grandes que el panel web no puede manejar.

Exportar una base de datos (hacer backup)

Para exportar una base de datos a un archivo .sql, usa este comando desde el terminal (fuera de MySQL):

mysqldump -u usuario -p nombre_de_tu_base > backup.sql

Te pedirá la contraseña y creará un archivo llamado backup.sql en el directorio donde estés. Puedes cambiar el nombre y la ruta:

mysqldump -u usuario -p nombre_de_tu_base > /home/usuario/backups/mi_backup_2024.sql

[TIP]: Para que el backup incluya también las sentencias para eliminar y recrear las tablas (lo que facilita la restauración), añade el flag --add-drop-table. El comando quedaría así: mysqldump -u usuario -p --add-drop-table nombre_de_tu_base > backup.sql.

Comprimir el backup

Los archivos .sql pueden ser muy grandes. Puedes comprimirlos en el momento de crearlos:

mysqldump -u usuario -p nombre_de_tu_base | gzip > backup.sql.gz

Importar una base de datos (restaurar backup)

Para importar un archivo .sql dentro de una base de datos existente:

mysql -u usuario -p nombre_de_tu_base < backup.sql

Si el archivo está comprimido (.gz), primero debes descomprimir:

gunzip backup.sql.gz

Y luego importar el archivo descomprimido.

[INFO]: Si estás restaurando un backup en una base de datos que ya tiene datos, el proceso sobrescribirá los datos existentes con los del backup. Asegúrate de que es lo que quieres hacer.

Optimizar y reparar tablas

Con el tiempo, las tablas de tu base de datos pueden fragmentarse o tener errores. MySQL tiene comandos para mantenerlas saludables.

Optimizar tablas

La optimización reorganiza el espacio físico de la tabla y mejora el rendimiento:

OPTIMIZE TABLE nombre_de_tu_tabla;

También puedes optimizar todas las tablas de una base de datos con este truco:

mysqlcheck -u usuario -p --optimize nombre_de_tu_base

Reparar tablas

Si una tabla está dañada (por ejemplo, después de un corte de energía), puedes intentar repararla:

mysqlcheck -u usuario -p --repair nombre_de_tu_base

O desde el intérprete de MySQL:

REPAIR TABLE nombre_de_tu_tabla;

Consultas útiles para el día a día

Aquí tienes algunas consultas que te serán muy útiles para gestionar tus bases de datos:

Ver el tamaño de todas las bases de datos

SELECT table_schema AS 'Base de Datos',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Tamaño (MB)'
FROM information_schema.tables
GROUP BY table_schema;

Ver las tablas más grandes de una base

SELECT table_name AS 'Tabla',
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS 'Tamaño (MB)'
FROM information_schema.tables
WHERE table_schema = 'nombre_de_tu_base'
ORDER BY (data_length + index_length) DESC
LIMIT 10;

Cambiar la contraseña de un usuario

ALTER USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'nueva_contraseña';
FLUSH PRIVILEGES;

Consejos de seguridad importantes

Gestionar bases de datos desde SSH te da mucho poder, pero también mucha responsabilidad. Aquí van algunos consejos:

Usa contraseñas fuertes

Las contraseñas de los usuarios de bases de datos deben ser largas y complejas. Combina mayúsculas, minúsculas, números y símbolos.

Limita los permisos

No todos los usuarios necesitan todos los permisos. Si un usuario solo necesita leer datos, usa:

GRANT SELECT ON nombre_de_tu_base.* TO 'usuario_lectura'@'localhost';

Haz backups regulares

Configura un cron job para que haga backups automáticos de tus bases de datos. Un ejemplo de cron diario:

0 2 * * * mysqldump -u usuario -p'contraseña' nombre_de_tu_base | gzip > /ruta/a/tu/backup/$(date +\%Y\%m\%d).sql.gz

[WARNING]: Si pones la contraseña directamente en el comando cron, cualquiera que tenga acceso al servidor podrá verla. Asegúrate de que los permisos del archivo cron sean restrictivos.

Preguntas frecuentes (FAQ)

¿Puedo usar SSH si tengo un hosting compartido?

Depende de tu proveedor. Si tu hosting compartido te da acceso SSH (muchos lo ofrecen), puedes usar estos comandos. Sin embargo, en algunos planes compartidos el acceso a MySQL desde SSH está limitado. Consulta con tu proveedor o revisa la documentación de Syspanel.

¿Qué hago si no recuerdo la contraseña de mi base de datos?

Desde Syspanel puedes cambiar la contraseña de tus bases de datos. Accede al panel por el puerto 2106, ve a la sección de bases de datos y busca la opción de cambiar contraseña. Luego usa esa nueva contraseña para tus comandos SSH.

¿Cómo sé qué usuario de MySQL usar?

En Syspanel, cuando creas una base de datos, se crea también un usuario asociado. Puedes ver el nombre de usuario en la misma sección de bases de datos. Normalmente tiene un prefijo como usuario_nombrebasededatos.

¿Puedo importar una base de datos más grande que el límite de subida del panel?

¡Sí! Esta es una de las mayores ventajas de usar SSH. No hay límite de tamaño para importar desde la línea de comandos, solo depende del tiempo que tarde el proceso.

¿Es seguro ejecutar comandos MySQL desde SSH?

Sí, siempre y cuando sepas lo que estás haciendo. La clave está en ser cuidadoso con comandos destructivos como DROP o DELETE. Siempre haz un backup antes de ejecutar cualquier comando que modifique datos.

Conclusión y siguientes pasos

Gestionar bases de datos desde SSH es una habilidad que te dará mucha flexibilidad y control sobre tu servidor. Ya sea para hacer backups avanzados, importar archivos grandes o simplemente tener un acceso más directo, conocer estos comandos te hará la vida mucho más fácil.

Recuerda que Syspanel siempre está ahí para ayudarte con la gestión visual de tus bases de datos. La combinación de ambas herramientas (el panel web para tareas rápidas y SSH para tareas más complejas) es la estrategia perfecta.

Si te surge cualquier duda mientras practicas, no dudes en consultar la documentación oficial de MySQL o preguntar en foros especializados. La comunidad es muy activa y siempre hay alguien dispuesto a ayudar.

[INFO]: Practica estos comandos en un entorno de pruebas antes de aplicarlos en producción. Puedes crear una base de datos de prueba en Syspanel y hacer todas las pruebas que necesites sin riesgo.

Ahora que ya tienes esta guía completa, es hora de que abras tu terminal y empieces a explorar. ¡Verás que en poco tiempo te sentirás mucho más seguro y capaz gestionando tus bases de datos desde la línea de comandos!

¿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