El problema con las bases de datos grandes en phpMyAdmin
phpMyAdmin tiene limitaciones en el tamaño de los archivos SQL que puede importar, determinadas por la configuracion de PHP del servidor. En la mayoria de los planes de hospedaje compartido, este limite se situa entre 50 MB y 128 MB. Para bases de datos grandes, como las de sitios de WooCommerce con miles de productos o sistemas con años de datos acumulados, es necesario usar metodos alternativos que no tengan esta restriccion.
Metodo 1: Aumentar el limite en phpMyAdmin
Si se tiene acceso a la configuracion PHP del servidor, se puede aumentar temporalmente el limite de subida:
- Ir a cPanel > MultiPHP INI Editor.
- Incrementar los valores:
upload_max_filesize = 512M,post_max_size = 512M,max_execution_time = 600. - Guardar y volver a intentar la importacion en phpMyAdmin.
Metodo 2: Usar BigDump para importaciones grandes
BigDump es un script PHP diseñado especificamente para importar archivos SQL grandes dividiendolos en partes que se procesan de forma secuencial, evitando el problema del tiempo de ejecucion maximo de PHP:
- Descargar BigDump desde su repositorio oficial.
- Editar el archivo
bigdump.phpcon los datos de conexion a la base de datos destino. - Subir el archivo
bigdump.phpy el archivo SQL al servidor via FTP. - Acceder a
http://tudominio.com/bigdump.phpdesde el navegador. - Seguir las instrucciones en pantalla para iniciar la importacion. El script procesara el archivo en partes y mostrara el progreso.
- Una vez completada la importacion, eliminar el archivo
bigdump.phpdel servidor por seguridad.
Metodo 3: Importar desde la terminal (SSH)
Si el servidor tiene acceso SSH, este es el metodo mas rapido y confiable para importar cualquier tamaño de base de datos:
mysql -u usuario_db -p nombre_base_datos < /ruta/al/archivo.sql
Para bases de datos muy grandes (mas de 1 GB), usar nohup para que el proceso continue aunque se cierre la sesion SSH:
nohup mysql -u usuario_db -p nombre_base_datos < archivo.sql &
Metodo 4: Usar Adminer como alternativa a phpMyAdmin
Adminer es una alternativa a phpMyAdmin que en muchos casos maneja mejor los archivos grandes:
- Descargar el archivo unico de Adminer desde adminer.org.
- Subir el archivo al servidor y acceder desde el navegador.
- Conectarse a la base de datos e intentar la importacion desde la interfaz de Adminer.
| Metodo | Limite de tamaño | Dificultad | Recomendado para |
|---|---|---|---|
| phpMyAdmin (predeterminado) | Hasta 128 MB | Baja | Bases de datos pequeñas y medianas |
| phpMyAdmin (con limites aumentados) | Hasta 512 MB | Media | Bases de datos medianas |
| BigDump | Sin limite practico | Media | Bases de datos grandes sin SSH |
| MySQL desde SSH | Sin limite | Media | Bases de datos de cualquier tamaño con SSH |
