pesados - importar base de datos mysql mayor a 2mb
Cómo importar un archivo sql grande en phpmyadmin (17)
- Abra su archivo sql en un editor de texto (como el Bloc de notas)
- Seleccionar todo -> Copiar
- Vaya a phpMyAdmin, seleccione su base de datos y vaya a la pestaña SQL
- Pega el contenido que has copiado en el portapapeles.
- Podría aparecer un error de javascript, ignorarlo
- Ejecutar
Quiero importar un archivo sql de aproximadamente 12 mb. Pero está causando problemas durante la carga. ¿Hay alguna forma de subirlo sin dividir el archivo sql?
3 cosas que tienes que hacer:
en php.ini
de su instalación de php (nota: dependiendo de si desea CLI, apache o nginx, busque el php.ini correcto para manipular)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
o establecer otros valores.
Reinicie / vuelva a cargar Apache si tiene instalado Apache o php-fpm para nginx si usa nginx.
¿Servidor remoto?
aumente también max_execution_time
, ya que llevará tiempo subir el archivo.
¿Instalación de NGINX?
tendrá que agregar: client_max_body_size 912M;
en /etc/nginx/nginx.conf
al bloque http{...}
Cambie la configuración de su servidor para permitir cargas de archivos de más de 12 mb y debería estar bien. Por lo general, la configuración del servidor se establece en 5 a 8 mb para la carga de archivos.
Crear un archivo zip o tar y subirlo en phpmyadmin eso es ..!
Edite el archivo config.inc.php ubicado en el directorio phpmyadmin. En mi caso, se encuentra en C:/wamp/apps/phpmyadmin3.2.0.1/config.inc.php
.
Encuentra la línea con $cfg[''UploadDir'']
en ella y actualízala a $cfg[''UploadDir''] = ''upload'';
Luego, cree un directorio llamado ''subir'' dentro del directorio phpmyadmin (para mí, en C:/wamp/apps/phpmyadmin3.2.0.1/upload/
).
Luego coloque el archivo SQL grande que está intentando importar en el nuevo directorio de upload
. Ahora, cuando ingrese a la página de importación de db dentro de la consola de phpmyadmin, notará un menú desplegable que no estaba allí antes: contiene todos los archivos sql en el directorio de carga que acaba de crear. Ahora puede seleccionar esto y comenzar la importación.
Si no está utilizando WAMP en Windows, estoy seguro de que podrá adaptar esto a su entorno sin demasiados problemas.
Referencia: http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/comment-page-4/
La mejor manera de cargar un archivo grande no es usar phpmyadmin. causa que phpmyadin al principio cargue el archivo usando la clase de carga php y luego ejecute sql que causa la mayor parte del tiempo que pasó su tiempo de espera.
la mejor manera es: ingrese a la carpeta de wamp> bin> mysql> bin dirrectory luego escriba esta línea
mysql -u root -p listnames <latestdb.sql aquí listnames es el nombre de la base de datos al principio, cree la base de datos vacía y el latestdb.sql es el nombre del archivo sql donde se encuentran tus datos.
pero una cosa importante es si su archivo de base de datos tiene datos Unicode. debe abrir su archivo latestdb.sql y una línea antes de cualquier línea. la linea es:
SET NAMES utf8; entonces su modo de comando ejecuta este código de script
La respuesta para aquellos con alojamiento compartido. Lo mejor es usar este pequeño script que acabo de usar para importar un archivo DB de 300 mb a mi servidor. El guión se llama Big Dump.
Me encontré con un artículo y esto funcionó mejor para mí
- Abra el archivo config.inc.php dentro del directorio phpmyadmin con su editor de código favorito. En su entorno local MAMP, debe estar ubicado aquí:
Disco Duro »Aplicaciones» MAMP »bin» config.inc.php
- Haga una búsqueda de la frase
$cfg[''UploadDir'']
- se verá así:
$cfg[''UploadDir''] = '''';
- Cámbiala para que se vea así:
$cfg[''UploadDir''] = ''upload'';
Luego, dentro de ese directorio phpmyadmin, cree una nueva carpeta y nómbrela como carga.
Tome ese gran archivo .sql que está intentando importar y colóquelo en esa nueva carpeta de carga.
Ahora, la próxima vez que vaya a importar una base de datos a phpMyAdmin, verá un nuevo campo desplegable justo debajo del área de exploración estándar en su sección "Archivo para importar".
No entiendo por qué nadie menciona la forma más fácil ... simplemente divida el archivo grande con http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/ y luego simplemente ejecute vie mySQL admin Los archivos generados por separado a partir del uno con la estructura
Ok, usa PHPMyAdmin pero a veces la mejor forma es a través de terminal:
- Conéctese a la base de datos:
mysql -h localhost -u root -p
(cambie root y localhost para el usuario y la ubicación de la base de datos) - Iniciar la importación desde el volcado:
/. /path/to/your/file.sql
/. /path/to/your/file.sql
- Ve a tomar un café y presumir de ti mismo porque usas el terminal.
Y eso es. Solo recuerde que si está en un servidor remoto, debe cargar el archivo .sql en alguna carpeta.
Para eso, tendrá que editar el archivo php.ini
. Si está utilizando el servidor de ubuntu, este es el enlace Cargar un archivo grande en phpMyAdmin puede ayudarlo.
Pude importar un archivo .sql
grande al tener la siguiente configuración en el archivo httpd.conf
:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</Directory>
Solo una línea y listo (asegúrese de que el comando mysql esté disponible como global o simplemente vaya a la carpeta de instalación de mysql y ingrese en la carpeta bin)
mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension
aquí
-
u
significa usuario -
p
significa contraseña -
D
significa Base de Datos
--- NO OLVIDE A AGREGAR <
FIRME DESPUÉS DEL NOMBRE DE LA BASE DE DATOS ---
La ruta completa del archivo con nombre y extensión puede ser como
c:/folder_name/"folder name"/sql_file.sql
--- SI SU NOMBRE DE LA CARPETA Y DEL ARCHIVO CONTIENE ESPACIO QUE LOS VINCULADOS USANDO UNA CITA DOBLE ---
Sugerencia y nota: puede escribir su contraseña después de -p
pero esto no se recomienda porque se mostrará a otras personas que estén mirando su pantalla en ese momento. Si no escribe allí, le preguntará cuándo ejecutará el comando presionando entrar.
Solución para los usuarios de Linux (ejecutar con sudo)
Crear directorios ''subir'' y ''guardar'':
mkdir /etc/phpmyadmin/upload
mkdir /etc/phpmyadmin/save
chmod a+w /etc/phpmyadmin/upload
chmod a+w /etc/phpmyadmin/save
Luego edite el archivo de configuración de phpmyadmin:
gedit /etc/phpmyadmin/config.inc.php
Finalmente, agregue la ruta absoluta para los directorios ''subir'' y ''guardar'':
$cfg[''UploadDir''] = ''/etc/phpmyadmin/upload'';
$cfg[''SaveDir''] = ''/etc/phpmyadmin/save'';
Ahora, solo suelte los archivos en la carpeta /etc/phpmyadmin/upload
y luego podrá seleccionarlos desde phpmyadmin.
Espero que esto ayude.
Tendrás que editar el archivo php.ini. cambie el siguiente upload_max_filesize
post_max_size
para adaptarse al tamaño de su archivo.
Intentando ejecutar phpinfo()
para ver su valor actual. Si no está en libertad de cambiar el archivo php.ini directamente, intente con ini_set()
Si eso tampoco es una opción, le gustaría darle una oportunidad a bigdump .
Trate de importarlo desde la consola mysql según el gusto de su sistema operativo.
mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql path}
o si está en un servidor remoto, use la marca -h para especificar el host.
mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {db.file.sql path}
Una solución es usar la línea de comando;
mysql -h yourhostname -u username -p databasename < yoursqlfile.sql
Solo asegúrese de que la ruta al archivo SQL que se va a importar se indique explícitamente.
En mi caso, utilicé esto;
mysql -h localhost -u root -p databasename < /home/ejalee/dumps/mysqlfile.sql
Voila! tú eres bueno para irte.