upload - subir - phpMyAdmin: no se puede importar un gran archivo de base de datos, ¿alguna sugerencia?
importar base de datos grande mysql xampp (17)
Esto importará su archivo sql grande en pocos segundos:
e:/xampp/mysql/bin>mysql -u root -h localhost < verybigsqlfile.sql
No use phpmyadmin para importar archivos grandes de sql. Si está utilizando mysql en línea, tome el acceso a la consola de mysql.
Hace poco recibí una computadora nueva, así que pensé en mover todos mis proyectos web. Mover los archivos fue fácil, sin embargo, mover la base de datos parece ser un poco más difícil. Exporté TODAS las bases de datos usando phpMyAdmin, y las guardé en localhost.sql. Luego traté de importarlo en mi nueva computadora también usando phpMyAdmin, y recibo el error:
No data to import. Either no filename was sent or the filesize exceeded the maximum allowed size. See FAQ 1.16. (This was translated from Swedish)
Eché un vistazo a las preguntas frecuentes, como se aconseja. Y mencionaron una herramienta llamada BigDump. Así que lo descargué, y después de mirar las configuraciones que necesitas para ejecutarlo, me di cuenta de que NO PUEDO UTILIZAR ESO. ¿Por qué? Porque requiere una conexión a una base de datos específica. Estoy tratando de importar MUCHAS bases de datos a la vez. Por lo tanto, no hay éxito allí.
También intenté configurar el upload_max_filesize de PHP (y el otro mencionado en las preguntas frecuentes) en algo así como 999. Eso tampoco parece funcionar por alguna razón. Reinicié todos los servicios antes de volver a ejecutarlo.
Debo mencionar que usé XAMPP en mi computadora antigua, y cambié a WAMP en mi nueva. Eso no debería importar, ¿no? Como ambos "paquetes" usan phpMyAdmin y apache.
¿Alguna sugerencia sobre cómo evitar esta pesadilla?
Hacer cambios en xampp/php/php.ini
Encontrar:
post_max_size = 8M
upload_max_filesize = 2M
max_execution_time = 30
max_input_time = 60
memory_limit = 8M
Cambiar a:
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
Intenté cambiar el tamaño permitido, pero eso no solucionó el problema.
Sin embargo, hay una carpeta llamada " uploaddir ", en mi caso particular, ubicada en:
EasyPHP / modules / phpmyadmin / uploaddir
Coloqué el archivo SQL allí, y luego volví a la pestaña "Importar" de PHP My Admin. Hay una opción que me permitió cargar archivos que ya estaban ubicados en la carpeta "uploaddir"; y no tienen limite.
Estoy usando Windows y EasyPHP 12.1
La solución simple es que solo descargue e instale el software "MySql Workbench", que está basado en gui y es fácil de usar. Recientemente he importado una base de datos mysql de 300 MB.
Modificar el archivo my.ini
en la sección [mysqld] agrega las siguientes líneas
wait_timeout=28800
interactive_timeout = 28800
max_allowed_packet=32M
Reinicie el mysql
Abra el archivo dump.sql agregue las siguientes lineas
use mydbname
Vaya a la carpeta mysql y ejecute este comando
mysql -u root -h localhost < dump.sql
Otros siempre intentan reconfigurar el archivo php.ini, pero para mí, creo que lo mejor es usar la consola MYSQL porque realmente ahorra tiempo.
Aquí están las guías paso a paso para la consola MYSQL:
Abra su consola MYSQL y luego ejecútelo.
Tipo:
mysql> use database_name;
mysql> source location_of_your_file;
location_of_your_file debería verse como C: / mydb.sql
entonces el comando es mysql> source C: / mydb.sql;
Este tipo de importación de volcado de SQL es muy útil para BIG SQL FILE.
Copié mi archivo mydb.sql al directorio C:. Debe ser mayúscula C: para ejecutarse porque le dará un error de mysql o un error de sintaxis
Puede importar desde la línea de comandos, algo como mysql < databasedump.sql
(según el sistema operativo).
Sé que esto es viejo pero ... se me ocurrió este problema hace mucho tiempo. O utilicé la consola para ejecutar el archivo dump sql. O uso adminer como una alternativa a PHPmyAdmin.
Si está en Linux, puede ir a la terminal y después de conectarse a mysql y seleccionar la base de datos, simplemente escriba:
/. /path/to/database/database.sql
Si tiene una carga de base de datos muy grande, la interfaz web estará limitada al tamaño de solicitud HTTP máximo HTTP
Edite el PHP.ini
para aumentar el límite de carga.
encuentra esta linea
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = ??M **<--- change here ....**
Luego reinicie el servidor
/sbin/service httpd restart
o use directadmin para reiniciar el servicio http
Use SQLYog para operaciones de db, es la mejor opción para profesionales. Al usar SQLYog puede importar nGB {n-> finite_size} de db sql.
comprimir el archivo sql (solo gzip, bzip2, zip) e importarlo. la compresión de los archivos de prueba, como el archivo db csv, reducirá el tamaño del archivo drásticamente (~ 11 mb a 2 mb) y los datos comprimidos de la aplicación phpmyadmin motor de importación
en servidor wamp:
- Abra el archivo config.inc.php en la ruta "C: / wamp / apps / phpmyadmin" y establezca / agregue esta línea. $ cfg [''UploadDir''] = ''upload'';
- Reinicie todos los servicios
- Ahora cree la carpeta de carga dentro de su carpeta phpmyadmin (C: / wamp / apps / phpmyadmin4.0.4 / upload) y ponga su archivo .sql en la carpeta de carga.
- Ahora abre phpmyadmin en el navegador, ve a importar. Puede ver el archivo en la lista desplegable justo debajo del botón de exploración con los archivos y la carpeta del directorio de carga.
- Selecciónalo y ve…
phpmyadmin también tiene la capacidad de leer desde el disco duro: cargar el volcado y usar esta función. Sin embargo, le aconsejaría encarecidamente que lo haga desde la consola si es posible. Es mucho más rápido, ya que PHP no tiene que procesar el archivo primero y se carga directamente en el servidor.
Cómo
Asegúrese de cambiar tanto * "post_max_size" * como * "upload_max_filesize" * en su "php.ini" (que se encuentra donde está su "php.exe" ).
El siguiente ejemplo le permite cargar e importar archivos de 128MB sql:
post_max_size=128M
upload_max_filesize=128M
Reinicie Apache y ya está todo listo.
Alternativas
Una forma alternativa de solucionar el problema es usar la línea de comandos. Pero es una solución alternativa, y tan feo como las soluciones alternativas:
C:/xampp/mysql/mysql.exe -u root -p db_name < C:/some_path/your_sql_file.sql
Como no está utilizando el servidor, no importan los tamaños de línea de comando, carga y POST. Es por eso que llamo a esto una "solución alternativa" , ya que en realidad no resuelve su problema.
Siga este paso para volcar la enorme base de datos:
1) Descargue php script BigDump.php desde http://www.ozerov.de/bigdump/
2) Mueva su bigdump.php y su databasedump.sql en la carpeta de proyectos (htdocs o www).
3) Abra el archivo bigdump.php y edite la siguiente sección:
$db_server = ''localhost'';
$db_name = '''';
$db_username = '''';
$db_password = '''';
$filename = ''.sql'';
4) Abra bigdump.php en el navegador y haga clic en el enlace de importación.