GNU/Linux >> Tutoriales Linux >  >> Linux

Importar múltiples archivos SQL en MySQL

Si está migrando manualmente su sitio web o simplemente necesita importar ciertos archivos SQL a su base de datos, este artículo le mostrará cómo importar múltiples archivos SQL en mySQL. Usaremos tanto una interfaz gráfica como una línea de comandos de MySQL.

Para empezar, se recomienda encarecidamente no importar una base de datos a un sitio web en vivo. Antes de intentar importar cualquier archivo SQL, detenga el servidor web y haga una copia de seguridad de su base de datos.

Importar base de datos usando phpMyAdmin

Supongo que su host ya instaló phpMyAdmin en su servidor. Si está ejecutando un VPS y no tiene instalado phpMyAdmin, explicaré cómo instalar phpMyAdmin en Linux en detalle en un artículo separado.

La mayoría de los hosts imponen límites severos de carga de archivos e imponen un tiempo máximo de ejecución. Si el límite de carga de archivos de su servidor es muy bajo (2 MB) y los archivos de su base de datos son muchos y grandes, el proceso de exportación siempre fallará. phpMyAdmin, por otro lado, es lo suficientemente inteligente como para reanudar la importación desde donde la dejó. Entonces, si alcanza el límite máximo de ejecución, vuelva a cargar los archivos y phpMyAdmin reanudará la importación desde donde la dejó. Sin embargo, es preferible aumentar el límite a través de cPanel o modificando manualmente php.ini.

Aumentar el tamaño de carga de archivos PHP en VPS

Para aumentar el límite máximo de carga de PHP, abra php.ini y edite las siguientes líneas:

; https://php.net/cgi.check-shebang-line
;cgi.check_shebang_line=1

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; https://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; https://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; https://php.net/upload-max-filesize
upload_max_filesize = 2M

El tamaño máximo del archivo de carga se establece en 2 MB de forma predeterminada. Cámbielo al tamaño de archivo que necesite. Desplácese hacia abajo hasta post_max_size . Aumente el post_max_size al tamaño necesario si está configurado en 8 MB de forma predeterminada.

Desplácese hasta la parte inferior y busque max_execution_time . El max_execution_time predeterminado está establecido en 30 , que es demasiado breve para importar archivos de base de datos de gran tamaño. En uno de mis procesos de importación, tuve que establecer el max_execution_time a 3600 segundos, o una hora. Aumente este límite según el tamaño de la importación.

Aumentar el tamaño de carga del archivo PHP en cPanel

cPanel es el panel de control popular utilizado por la mayoría de los proveedores de alojamiento. cPanel permite cambiar fácilmente el PHP upload_max_filesize , post_max_size y max_execution_time .

Inicie sesión en su cuenta de cPanel y siga los pasos a continuación para modificar la configuración de PHP:

Haga clic en MultiPHP INI Editor desde el panel de control de cPanel.

Seleccione el nombre de dominio donde está alojado phpMyAdmin o seleccione Directorio principal para modificar la configuración de PHP para todos los dominios. Ahora debería ver todas las configuraciones de PHP. Cambiar max_execution_time a 3600 (1 hora), memory_limit a 512 MB, upload_max_filesize y post_max_size a su valor preferido.

Después de cambiar la configuración, haga clic en Aplicar. Ahora phpMyAdmin está listo para importar múltiples archivos SQL.

Aumente el tamaño de carga del archivo PHP en DirectAdmin

DirectAdmin es otro administrador de alojamiento popular. DirectAdmin también proporciona un método más fácil para cambiar la configuración de PHP. Desde el tablero, haz clic en Configuración de PHP .

Haga clic en el botón Agregar y seleccione file_uploads, cambie su valor a On. Agregue una configuración más, seleccione max_execution_time y establezca el valor en 1800 o 3600 (depende del tamaño de la importación). Para archivos SQL más grandes, puede llevar más de una hora o incluso más. Del mismo modo, cambie post_max_size , upload_max_filesize y max_memory configuración.

Si está utilizando otro panel de alojamiento web, le recomiendo que examine su configuración o se comunique con el soporte para cambiar la configuración de PHP en el servidor.

Ahora es el momento de comenzar el proceso de importación de la base de datos. En el navegador web, inicie phpMyAdmin y navegue hasta Importar. Puede seleccionar un solo archivo y luego hacer clic en Ir. Puede modificar la configuración en función del archivo SQL que se importa. En la mayoría de las circunstancias, la configuración predeterminada sería suficiente.

Pero solo importará un solo archivo. Para importar varios archivos SQL, cree un .zip de todos los archivos sql, cambie el nombre del zip en el formato:filename.[format].[zip] . Por ejemplo, wordpress.sql.zip .

Según el número y el tamaño de los archivos, el proceso de importación puede tardar algún tiempo. Cuando finalice el proceso, los datos importados estarán visibles en Bases de datos .

Importar base de datos usando la línea de comandos MySQL

Advertencia

Se recomienda encarecidamente que realice una copia de seguridad de la base de datos existente antes de migrar o agregar nuevos archivos de datos a la base de datos existente.

Si desea simplificar y acelerar el proceso, le recomiendo usar la línea de comandos mysql para importar archivos de bases de datos. Puede parecer complicado, pero no lo es. Una vez que haya cambiado la configuración de PHP, todo lo que necesita es un solo comando para hacer el truco.

Elimine la base de datos antigua e importe nuevos archivos SQL

Advertencia

El siguiente comando reemplazará todos los datos existentes con los nuevos datos. No utilice este comando si desea importar datos a una base de datos existente, pero al migrar una base de datos antigua a un servidor nuevo.

Transfiera todos los archivos .sql al servidor. SSH en el servidor, cd en el directorio donde se almacenan los archivos SQL y use el siguiente comando para importar todos los archivos sql.

sudo cat *.sql | mysql -u root -p database_name

Reemplace nombre_base_datos con el nombre real de la base de datos en el servidor.

Conserve la base de datos antigua e importe nuevos archivos SQL

Los nuevos archivos SQL se importarán usando el siguiente comando. Si hay claves coincidentes en la base de datos, las omitirá e importará solo los datos que no existen en la base de datos actual.

sudo cat *.sql|sed 's/^INSERT/INSERT IGNORE/'|mysql -u root -p database_name

Conclusión

Eso es todo al respecto. La migración de bases de datos es una tarea de alto riesgo. Puede haber algunas fallas en el servidor durante el proceso de importación; pero, si tiene una copia de seguridad completa de la base de datos, está a salvo. Antes de migrar la base de datos al servidor de producción, recomiendo crear un clon o un servidor provisional y practicar los procesos en él.

Si tiene algún problema con las instrucciones anteriores, hágamelo saber en la sección de comentarios debajo de este artículo. O únete a nuestro Servidor Discord.


Linux
  1. ¿Cómo analizar PHP en archivos html?

  2. Importar una base de datos MySQL

  3. Cómo importar una base de datos de exportación en MYSQL MariaDB

  4. mejorar la velocidad de importación mysql

  5. Une varios archivos MP3 (sin pérdidas)

Comando Renombrar en Linux (Renombrar Múltiples Archivos)

PHP MySQL Seleccionar datos

Múltiples Versiones de PHP en plesk

Extensión de cambio de nombre de varios archivos de Linux

Cómo conectarse a MySQL usando PHP

Conceptos básicos de PHP y MySQL:bases de datos y tablas