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 tareas de MySQL son lentas o recurrentes?
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:

  1. 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.
  2. 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.
  3. Subir el Archivo SQL: Sube el archivo .sql grande a tu servidor a través de FTP/SFTP (ej: a la carpeta /home/tucpaneluser/db_files/).

Ventana de privilegios MySQL

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.

Ingreso de contraseña en SSH para MySQL

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.

Comando mysqldump para exportar base de datos

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.

¿Le ha resultado útil esta respuesta? 0 Los usuarios encontraron esto útil (0 Votos)