Guía de Comandos: Importar y Exportar Bases de Datos grandes vía SSH
La línea de comandos es la herramienta más eficiente y rápida para la gestión de bases de datos. Si tu base de datos MySQL supera el límite de importación de 50 MB impuesto por phpMyAdmin, o si necesitas mayor velocidad y control, los comandos SSH (Secure Shell) son la solución.
Esta guía es para usuarios avanzados que ya tienen acceso SSH habilitado en su cuenta de hosting o VPS.
Las bases de datos grandes requieren alta velocidad de I/O (disco). Pásate a la potencia exclusiva de un Servidor VPS Linux para optimizar tus comandos SSH y reducir los tiempos de importación/exportación.
Ver Planes VPS Linux de Alto Rendimiento
Paso 1: Preparación y Acceso
Antes de usar SSH, asegúrate de:
- Habilitar SSH: Si estás en hosting compartido, revisa el tutorial de "Manage Shell" para habilitar el acceso y usar el puerto 21098. Si es un VPS, usa el puerto 22.
- Crear la DB y el Usuario: La base de datos de destino debe estar **previamente creada** en cPanel (Menú Bases de Datos MySQL). Asegúrate de que el usuario de MySQL tenga **Todos los privilegios** sobre esa DB.
- Subir el Archivo SQL: Sube el archivo
.sqlgrande a tu servidor a través de FTP/SFTP (ej: a la carpeta/home/tucpaneluser/db_files/).

Paso 2: Comando de Importación (Restore)
Este comando se usa para subir el contenido de un archivo .sql (volcado) a una base de datos activa.
Sintaxis de Importación:
mysql -u dbusername -p dbname < /path/to/file/file.sql
Ejemplo práctico:
mysql -u nctests_user -p nctests_database < /home/nctests/public_html/databases/db_file.sql
Al presionar Enter, el sistema te pedirá la contraseña en la siguiente línea. Escríbela (no se verá) y presiona Enter.

Paso 3: Comando de Exportación (Backup)
Este comando se usa para descargar una copia completa de la base de datos a un archivo SQL en el servidor.
Sintaxis de Exportación:
mysqldump -u dbusername -p dbname > /path/to/file/new_backup.sql
Ejemplo práctico:
mysqldump -u nctests_user -p nctests_database > /home/nctests/public_html/databases/backup_01.sql
Al ejecutar este comando y escribir la contraseña, el servidor creará un nuevo archivo SQL en la ruta especificada. Este archivo puede ser mucho más grande que 50 MB sin problemas.

Glosario de Variables
- dbusername: El nombre de usuario de la base de datos (Ej:
CPANELUSER_DATABASEUSER). - dbname: El nombre de la base de datos (Ej:
CPANELUSER_DATABASENAME). - -p: Indica que la contraseña se solicitará en la siguiente línea (Método recomendado).
- /path/to/file/file.sql: La ruta absoluta o relativa en el servidor donde se encuentra el archivo (para importar) o donde se creará (para exportar).
Preguntas Frecuentes
¿Por qué debo usar `-p` sin espacio para la contraseña?
Si escribes la contraseña directamente en el comando (ej: -p123qwe), no debes dejar espacio entre -p y la clave. Sin embargo, por seguridad, te recomendamos usar el comando -p solo, para que el sistema solicite la contraseña en la siguiente línea (ya que no se muestra en pantalla y es más seguro).
¿Qué pasa si uso mi nombre de usuario de cPanel como dbusername?
En muchos servidores, el usuario principal de cPanel tiene automáticamente acceso a todas las bases de datos con el mismo prefijo. Si usas tu usuario de cPanel, puedes intentar usar tu contraseña de cPanel. No obstante, la práctica recomendada es siempre crear un usuario específico (CPANELUSER_DBUSER) con una contraseña única para cada base de datos.
