Cómo importar una base de datos SQL en DirectAdmin
Importar una base de datos SQL es una de las tareas más comunes al migrar un sitio web, restaurar una copia de seguridad o mover un proyecto entre servidores. Si tu panel de control es DirectAdmin, el proceso es bastante sencillo, pero requiere seguir ciertos pasos para evitar errores. En esta guía extensa, te explicaré desde cero cómo importar tu archivo SQL en DirectAdmin, qué opciones tienes (phpMyAdmin, línea de comandos, importación directa) y cómo solucionar los problemas típicos. Todo explicado de forma clara, paso a paso, para que lo hagas sin complicaciones.
¿Qué necesitas antes de empezar?
Antes de lanzarte a importar tu base de datos, asegúrate de tener lo siguiente a mano:
- Archivo SQL: El archivo con extensión
.sqlque contiene la estructura y los datos de tu base de datos. Normalmente lo obtienes al exportar desde otro servidor o al hacer una copia de seguridad. - Credenciales de DirectAdmin: Usuario y contraseña de tu cuenta de hosting (no del administrador del servidor).
- Nombre de la base de datos y usuario: Debes tener creada una base de datos vacía en DirectAdmin (o saber el nombre de una existente) y un usuario con permisos para gestionarla.
- Acceso a phpMyAdmin (opcional pero recomendado): La herramienta web más fácil para importar archivos SQL.
- Conexión SSH (solo si sabes usar comandos): Para usuarios avanzados que prefieren la línea de comandos.
[INFO] Si no tienes aún una base de datos creada en DirectAdmin, primero debes ir a MySQL Management y crear una nueva. Anota el nombre, el usuario y la contraseña que generes.
Método 1: Importar base de datos SQL con phpMyAdmin (el más recomendado)
Este es el método más visual y amigable para usuarios sin experiencia técnica. phpMyAdmin es una interfaz web que te permite gestionar bases de datos MySQL de forma gráfica.
Paso 1: Accede a phpMyAdmin desde DirectAdmin
- Inicia sesión en tu panel de DirectAdmin.
- Busca el icono o enlace de phpMyAdmin. Normalmente está en la sección Extra Features o Account Manager. Si no lo ves, busca en el menú lateral o en la parte de MySQL Management.
- Haz clic y se abrirá una nueva pestaña o ventana con la interfaz de phpMyAdmin. En la mayoría de los casos, el acceso es automático (no pide credenciales porque ya estás autenticado en DirectAdmin).
Paso 2: Selecciona la base de datos correcta
En la columna izquierda de phpMyAdmin verás una lista con todas tus bases de datos. Haz clic en el nombre de la base de datos donde quieres importar el archivo SQL. Se mostrará la estructura actual (si está vacía, verás "No tables found").
Paso 3: Inicia la importación
- En la barra de menú superior, haz clic en la pestaña Importar (o Import).
- En la sección Archivo a importar, haz clic en el botón Seleccionar archivo (o Choose File).
- Busca en tu computadora el archivo
.sqlque deseas importar. - Deja las opciones predeterminadas (formato SQL, compresión si aplica, etc.). Si tu archivo es muy grande (más de 50 MB), es posible que necesites el método de línea de comandos.
- Haz clic en el botón Continuar o Ejecutar en la parte inferior.
Paso 4: Espera a que termine la importación
Dependiendo del tamaño del archivo, la importación puede tardar desde segundos hasta varios minutos. Verás una barra de progreso y, al final, un mensaje de éxito como "La consulta se ha ejecutado correctamente". Si hay errores, aparecerán en rojo.
[TIP] Si tu archivo SQL es muy grande (más de 100 MB), phpMyAdmin puede fallar por límites de tiempo o memoria. En ese caso, usa el método de línea de comandos o divide el archivo en partes más pequeñas.
Método 2: Importar base de datos SQL desde la línea de comandos (SSH)
Este método es más rápido y fiable para archivos grandes. Requiere que tengas acceso SSH a tu servidor y sepas usar comandos básicos.
Paso 1: Conéctate a tu servidor por SSH
Usa un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux). Las credenciales de SSH suelen ser las mismas que las de tu cuenta de DirectAdmin. Si no sabes cómo conectarte, consulta con tu proveedor de hosting.
Paso 2: Sube el archivo SQL al servidor
Puedes usar un comando scp (desde tu computadora) o subir el archivo primero a una carpeta accesible (por ejemplo, public_html) mediante FTP y luego moverlo. El comando típico para subir desde tu terminal local es:
scp /ruta/local/tu_archivo.sql usuario@tudominio.com:/home/usuario/tu_archivo.sql
Recuerda reemplazar usuario por tu nombre de usuario de DirectAdmin.
Paso 3: Importa el archivo SQL
Una vez que el archivo esté en el servidor, ejecuta el siguiente comando:
mysql -u usuario_bd -p nombre_bd < /home/usuario/tu_archivo.sql
usuario_bd: El nombre del usuario de la base de datos (suele serusuario_bdo similar).nombre_bd: El nombre exacto de la base de datos.- Te pedirá la contraseña del usuario de la base de datos (no la de DirectAdmin).
[WARNING] Asegúrate de que las credenciales coincidan exactamente con las que creaste en DirectAdmin. Un error común es escribir mal el nombre de la base de datos o el usuario.
Paso 4: Verifica la importación
Para comprobar que se importó correctamente, puedes listar las tablas:
mysql -u usuario_bd -p -e "USE nombre_bd; SHOW TABLES;"
Si ves las tablas, todo está bien.
Método 3: Importar base de datos SQL desde el panel de DirectAdmin (importación directa)
Algunas versiones de DirectAdmin incluyen una opción de importación directa desde el propio panel, sin necesidad de phpMyAdmin.
Paso 1: Ve a MySQL Management
En tu panel de DirectAdmin, busca la sección MySQL Management (o MySQL Bases de datos).
Paso 2: Selecciona la base de datos
Verás una lista de tus bases de datos. Haz clic en el nombre de la base de datos donde quieres importar.
Paso 3: Busca la opción "Importar SQL"
En la página de detalles de la base de datos, debería aparecer un botón o enlace que diga Importar SQL o Upload SQL file. Haz clic.
Paso 4: Sube el archivo
Selecciona el archivo .sql desde tu computadora y haz clic en Importar. El proceso es similar a phpMyAdmin pero más básico.
[INFO] Esta opción no está disponible en todas las versiones de DirectAdmin. Si no la ves, usa phpMyAdmin o SSH.
Solución de problemas comunes al importar SQL
Error "Table already exists"
Si la base de datos ya contiene tablas con el mismo nombre, la importación fallará. Solución: antes de importar, elimina las tablas existentes (desde phpMyAdmin o con DROP TABLE). O usa un archivo SQL que incluya DROP TABLE IF EXISTS al inicio.
Error "Access denied for user"
Las credenciales del usuario de la base de datos son incorrectas. Revisa que el nombre y la contraseña sean exactos. También verifica que el usuario tenga permisos para acceder a esa base de datos (en DirectAdmin, ve a MySQL Management y asigna el usuario a la base de datos).
Error "MySQL server has gone away"
Ocurre con archivos SQL muy grandes. Solución: usa la línea de comandos (SSH) o aumenta los límites en phpMyAdmin (no siempre posible en hosting compartido). También puedes dividir el archivo SQL en partes más pequeñas.
El archivo SQL tiene caracteres extraños o se ve corrupto
Asegúrate de que el archivo esté en formato UTF-8 sin BOM. Si lo exportaste desde otro sistema, ábrelo con un editor de texto (como Notepad++) y guárdalo como UTF-8. También verifica que la base de datos de destino tenga la misma codificación (utf8_general_ci, por ejemplo).
Preguntas frecuentes (FAQ) sobre importar SQL en DirectAdmin
¿Puedo importar un archivo SQL comprimido (zip, gz)?
Sí, phpMyAdmin acepta archivos comprimidos. También puedes descomprimirlos antes de usar SSH. En la línea de comandos, puedes importar directamente desde un archivo comprimido con gunzip < archivo.sql.gz | mysql -u usuario -p nombre_bd.
¿Qué hago si mi archivo SQL tiene más de 200 MB?
Usa el método de línea de comandos (SSH). Si no tienes acceso SSH, contacta a tu proveedor de hosting para que te ayuden o solicita que aumenten los límites de phpMyAdmin.
¿Se puede importar una base de datos desde otro panel como cPanel o Syspanel?
Sí, el archivo SQL es universal. Solo asegúrate de que el nombre de la base de datos y el usuario se correspondan con los de DirectAdmin. Si vienes de Syspanel (el panel que antes se llamaba HestiaCP y que se accede por el puerto 2106), el proceso es idéntico: exporta tu SQL desde Syspanel e impórtalo en DirectAdmin usando cualquiera de los métodos descritos.
¿Pierdo datos si importo sobre una base de datos existente?
Depende del contenido del SQL. Si el archivo contiene comandos DROP TABLE o CREATE TABLE, sobrescribirá las tablas existentes. Si solo tiene INSERT, añadirá datos nuevos. Siempre es recomendable hacer una copia de seguridad antes de importar.
¿Necesito cambiar algo en el archivo SQL antes de importar?
Si la base de datos de origen tenía un prefijo diferente (por ejemplo, wp_ en WordPress), no hay problema. Pero si el archivo SQL contiene referencias a rutas absolutas (como /home/usuario_anterior/...), deberás reemplazarlas por las nuevas rutas de DirectAdmin. Puedes hacerlo con un editor de texto (buscar y reemplazar).
Consejos finales para una migración exitosa
- Haz siempre una copia de seguridad de la base de datos de destino antes de importar, por si algo sale mal.
- Verifica la codificación de caracteres: Asegúrate de que tanto el archivo SQL como la base de datos usen la misma codificación (UTF-8 es lo más común).
- Si importas desde Syspanel (HestiaCP): Recuerda que el acceso a Syspanel es por el puerto 2106. Exporta tu base de datos desde allí y luego impórtala en DirectAdmin. El proceso es el mismo.
- Prueba la conexión: Después de importar, actualiza el archivo de configuración de tu aplicación (por ejemplo,
wp-config.phpen WordPress) con las nuevas credenciales de la base de datos de DirectAdmin. - Si tienes dudas, pregunta a tu proveedor de hosting: Ellos conocen la configuración específica de su servidor y pueden ayudarte con problemas concretos.
Con esta guía, ya sabes cómo importar una base de datos SQL en DirectAdmin de tres formas diferentes. Elige la que mejor se adapte a tu nivel y al tamaño de tu archivo. ¡Manos a la obra!
