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

Cómo importar una base de datos grande en DirectAdmin usando SSH

Actualizado el 2 de febrero de 2026

Importar una base de datos de gran tamaño puede parecer una tarea complicada, especialmente si estás acostumbrado a usar herramientas gráficas como phpMyAdmin. Sin embargo, cuando el archivo SQL supera los 50 MB o el tiempo de ejecución se agota, la mejor solución es usar SSH (Secure Shell). En este artículo, te guiaré paso a paso para que puedas importar una base de datos grande en DirectAdmin usando SSH, de forma segura y sin errores.


¿Qué necesitas antes de empezar?

Antes de lanzarte a escribir comandos, asegúrate de tener todo listo. Esto te ahorrará dolores de cabeza.

Requisitos básicos

  • Acceso SSH a tu servidor: Necesitas un usuario con permisos de shell (por lo general, el usuario principal de tu cuenta de hosting). Si no sabes cómo obtenerlo, contacta con tu proveedor de hosting.
  • Archivo SQL: Debes tener el archivo de la base de datos en tu computadora local o ya subido al servidor. Normalmente se llama algo como basededatos.sql.
  • Datos de conexión: El nombre de la base de datos, el usuario y la contraseña. En DirectAdmin, puedes obtenerlos desde el panel de control, en la sección "MySQL Management".
  • Cliente SSH: Un programa como PuTTY (Windows) o la terminal integrada (Linux/Mac). Yo recomiendo usar la terminal de tu sistema operativo si es posible.

[INFO] Si tu archivo SQL es extremadamente grande (varios GB), considera dividirlo en partes más pequeñas usando herramientas como split en Linux, o simplemente comprimirlo con gzip para ahorrar tiempo de subida.


Paso 1: Conéctate a tu servidor por SSH

Abre tu terminal o PuTTY y escribe el siguiente comando, reemplazando usuario por tu nombre de usuario de DirectAdmin y tudominio.com por la IP o dominio de tu servidor:

ssh usuario@tudominio.com

Te pedirá la contraseña. Escríbela (no se verá mientras escribes, es normal) y presiona Enter. Si es la primera vez que te conectas, acepta la huella digital del servidor escribiendo yes.

[TIP] Si usas Windows, PuTTY te pedirá la IP y el puerto (por defecto 22). Luego solo ingresa usuario y contraseña.

Una vez conectado, verás algo como [usuario@servidor ~]$. ¡Ya estás dentro!


Paso 2: Sube tu archivo SQL al servidor

Tienes dos opciones para subir el archivo: usar SCP (Secure Copy) desde tu terminal local o usar un cliente FTP como FileZilla con SFTP. Te explico la más rápida con SCP.

Opción A: Usar SCP desde tu computadora local

Abre otra terminal (no cierres la sesión SSH) y ejecuta:

scp /ruta/local/de/tu/archivo.sql usuario@tudominio.com:/home/usuario/

Reemplaza:

  • /ruta/local/de/tu/archivo.sql con la ruta real en tu PC (por ejemplo, C:\Users\TuNombre\Descargas\basededatos.sql en Windows, o ~/Descargas/basededatos.sql en Linux/Mac).
  • usuario con tu nombre de usuario de DirectAdmin.
  • tudominio.com con la IP o dominio del servidor.

Esto copiará el archivo al directorio home de tu usuario en el servidor.

Opción B: Usar FileZilla (SFTP)

  1. Abre FileZilla.
  2. En "Host", pon sftp://tudominio.com o la IP.
  3. Usuario y contraseña de tu cuenta de DirectAdmin.
  4. Puerto: 22.
  5. Conéctate y arrastra el archivo SQL a la carpeta /home/usuario/.

[WARNING] No uses FTP normal (puerto 21) porque es inseguro. Siempre usa SFTP (puerto 22) o SCP.


Paso 3: Identifica la base de datos en MySQL

Antes de importar, necesitas saber exactamente el nombre de la base de datos y el usuario. En DirectAdmin, ve a "MySQL Management" y verás algo como:

  • Base de datos: usuario_basededatos
  • Usuario: usuario_bduser
  • Contraseña: tupassword

También puedes verificar desde SSH:

mysql -u usuario -p -e "SHOW DATABASES;"

Te pedirá la contraseña de MySQL (la misma que usas en DirectAdmin). Verás una lista. Busca la tuya.

[INFO] En DirectAdmin, los nombres de bases de datos suelen tener el formato usuario_nombre. Asegúrate de escribirlo exactamente igual.


Paso 4: Importa la base de datos usando el comando mysql

Este es el paso clave. Vamos a usar el comando mysql para cargar el archivo SQL directamente en la base de datos.

Estando en la sesión SSH, ejecuta:

mysql -u usuario_bduser -p usuario_basededatos < /home/usuario/tuarchivo.sql

Explicación:

  • mysql: el cliente de MySQL.
  • -u usuario_bduser: el usuario de la base de datos.
  • -p: te pedirá la contraseña.
  • usuario_basededatos: el nombre exacto de la base de datos.
  • <: redirige el contenido del archivo SQL como entrada.
  • /home/usuario/tuarchivo.sql: la ruta completa del archivo SQL que subiste.

Presiona Enter, escribe la contraseña y espera. Dependiendo del tamaño, puede tardar desde segundos hasta horas.

[WARNING] Si el archivo SQL es muy grande (más de 500 MB), es posible que veas errores de tiempo de espera. En ese caso, usa nohup para que el proceso continúe aunque cierres la terminal:

nohup mysql -u usuario_bduser -p usuario_basededatos < /home/usuario/tuarchivo.sql &

Luego puedes cerrar la sesión y el proceso seguirá corriendo en segundo plano.


Paso 5: Verifica que la importación fue exitosa

Después de que termine el comando (verás el prompt de nuevo), es buena idea comprobar que todo esté bien.

Ver tablas importadas

Conéctate a MySQL:

mysql -u usuario_bduser -p

Luego:

USE usuario_basededatos;
SHOW TABLES;

Deberías ver todas las tablas de tu base de datos.

Ver registros (opcional)

Si quieres asegurarte de que los datos están ahí, prueba:

SELECT COUNT(*) FROM nombre_de_tabla;

Reemplaza nombre_de_tabla por una tabla que sepas que tiene datos.

[TIP] Si algo falla, revisa los errores en la terminal. Los problemas comunes son:

  • Contraseña incorrecta: Verifícala en DirectAdmin.
  • Base de datos no existe: Créala primero desde el panel o con CREATE DATABASE usuario_basededatos;.
  • Archivo SQL corrupto: Ábrelo con un editor de texto para ver si tiene contenido válido.

Solución de problemas comunes (FAQ)

Aquí tienes las preguntas más frecuentes que me hacen los clientes. Léelas antes de que te surja un problema.

1. ¿Qué hago si el archivo SQL es demasiado grande y el comando falla?

Si tu archivo supera 1 GB, es mejor comprimirlo primero. Sube el archivo .sql.gz y luego descomprímelo en el servidor:

gunzip /home/usuario/tuarchivo.sql.gz

Luego importa normalmente. También puedes usar pv para ver el progreso (si está instalado):

pv /home/usuario/tuarchivo.sql | mysql -u usuario_bduser -p usuario_basededatos

2. ¿Puedo importar desde una base de datos remota?

Sí, pero necesitas acceso SSH a ambos servidores o usar mysqldump con –host. Por ejemplo:

mysqldump -h servidororigen.com -u usuario -p basededatos_origen | mysql -h servidordestino.com -u usuario -p basededatos_destino

Esto copia la base de datos directamente sin archivos intermedios.

3. ¿Y si no tengo acceso SSH?

Algunos proveedores de hosting no lo ofrecen en planes básicos. En ese caso, puedes:

  • Usar phpMyAdmin con archivos divididos en partes pequeñas (máximo 50 MB).
  • Pedir a tu proveedor que habilite SSH temporalmente.
  • Usar un script PHP como "BigDump" (pero es más lento y riesgoso).

[WARNING] Nunca subas archivos SQL a carpetas públicas (como public_html) porque cualquiera podría descargarlos. Siempre usa /home/usuario/.

4. ¿Cómo sé qué versión de MySQL tengo?

Ejecuta:

mysql --version

Si es MySQL 8.0 o superior, algunos comandos pueden variar ligeramente, pero el proceso general es el mismo.

5. ¿Puedo importar una base de datos de otro panel como Syspanel (HestiaCP) a DirectAdmin?

Sí, el proceso es idéntico. Solo asegúrate de que el archivo SQL sea compatible (mismo motor, mismo charset). Si vienes de Syspanel (puerto de acceso 2106), exporta la base de datos con mysqldump desde ese servidor y luego impórtala en DirectAdmin siguiendo estos pasos.


Consejos finales para una importación exitosa

  • Haz una copia de seguridad: Antes de importar, si ya tienes datos en la base de datos, respáldalos con mysqldump -u usuario -p basededatos > respaldo.sql.
  • Usa UTF-8: Si tu archivo SQL tiene caracteres especiales (acentos, eñes), asegúrate de que esté en UTF-8. Puedes convertirlo con iconv si es necesario.
  • No interrumpas el proceso: Mientras se importa, no cierres la terminal ni apagues el ordenador. Si usas nohup, puedes cerrar pero verifica después.
  • Optimiza después de importar: Una vez importado, ejecuta OPTIMIZE TABLE en todas las tablas para mejorar el rendimiento. Puedes hacerlo desde phpMyAdmin o con un script.

Conclusión

Importar una base de datos grande en DirectAdmin usando SSH es un proceso sencillo una vez que conoces los comandos básicos. La clave está en tener el archivo SQL listo, conectarte correctamente y usar mysql < archivo.sql. Con este método, no hay límite de tamaño ni problemas de tiempo de espera.

Recuerda que la práctica hace al maestro. Si es la primera vez, prueba con una base de datos pequeña primero. Y si algo sale mal, no dudes en consultar los logs de MySQL (/var/log/mysql/error.log) o pedir ayuda a tu proveedor de hosting.

¡Ahora ya puedes manejar bases de datos de cualquier tamaño con confianza!

¿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