• Saltar a la navegación principal
  • Saltar al contenido principal

Dani Sánchez - Gestionatuweb

Desarrollador web freelance

  • Quién soy
  • ¿Eres agencia?
  • WordPress
    • Mantenimiento WordPress
    • Desarrollo WordPress
    • Soporte técnico WordPress
  • Cursos
  • Blog
  • Portfolio
  • Solicita Presupuesto

Importar base de datos SQL de gran tamaño sin phpMyAdmin

El 10 de septiembre de 2019 por dani 2 comentarios

Aviso: Esta entrada tiene 2 o más años, es posible que el método difiera ligeramente, las capturas de pantalla no se correspondan con la versión actual o que la herramienta/complemento ya no esté disponible.
Advertencia: Esta entrada contiene códigos o snippets que podrían no funcionar correctamente en tu instalación de WordPress, o podrían ser incompatibles con tu theme o plugins activos. Úsalos bajo tu responsabilidad, preferiblemente en un entorno de desarrollo y haz siempre copias de tus archivos antes de modificarlos.

phpMyAdmin es una excelente herramienta para administrar bases de datos mySQL con una interfaz visual, sin necesidad de utilizar comandos desde un terminal.

Para proyectos CMS como WordPress, una de las tareas más cotidianas que realizamos con phpMyAdmin es la de exportar e importar bases de datos, ya sea desde un proyecto local al servidor final o viceversa.

Pero existen limitaciones o restricciones que pueden impedir la importación de una base de datos SQL a través de phpMyAdmin generalmente ocasionados por el tamaño de esta.

Artículo disponible en vídeo por si prefieres seguirlo de este modo:

Restricción en el tamaño de subida de los archivos.

Los servidores, sobre todo los compartidos, definen un tamaño máximo de carga de archivos al servidor desde el navegador web, dependiendo del servidor, este tamaño puede ir desde los 8 hasta los 512MB. Si nuestra base de datos supera este tamaño ya tendremos el primer problema.

Tiempo de ejecución PHP

Para realizar la importación del archivo SQL a través de phpMyAdmin, se ejecuta un script PHP que recompone todas las tablas y registros de la base de datos. Normalmente los servidores establecen un tiempo limitado para las ejecuciones PHP, de forma que un proceso erróneo o infinito no bloquee los recursos del servidor demasiado tiempo.

Si el tiempo de importación supera este límite, seguramente obtendremos un error y no terminaremos de importar la base de datos. Dependiendo del estado de la interrupción, es posible que volviendo a cargar el archivo SQL, continúe la importación por donde iba, pero no estaremos exentos de posibles errores.

Importar el respaldo SQL directamente desde un terminal mySQL

Para los casos en los que sea imposible realizar la importación desde phpMyAdmin, tenemos que realizar esta acción directamente desde un terminal mySQL.

Si tu servidor es compartido no tendrás acceso a un terminal mySQL y la importación tendrán que realizarla desde tu proveedor de hosting.

Dependerá de la calidad de tu soporte técnico qué tan rápido hagan esta tarea (si es que la hacen). Seguramente te pedirán que subas la base de datos por FTP a algún directorio e indiques a qué base de datos quieres hacer el respaldo.

Si posees un servidor virtual o dedicado seguramente podrás acceder a este terminal (consulta la documentación de tu hosting).

Primero crea la base de datos vacía (esto puedes hacerlo desde phpMyAdmin como siempre).

Ahora desde un terminal mySQL conéctate a tu base de datos vacía:

mysql -u user -p base_de_datos

Donde «user» es tu usuario mySQL y «base_de_datos» el nombre de tu base de datos vacía.

Ahora te pedirá la contraseña del usuario de mySQL.

Una vez conectado especificamos la ruta al archivo de respaldo. Puedes subirlo por FTP a algún directorio de tu servidor.

mysql source /ruta_al_archivo_sql/archivo.sql

En este momento comenzará la importación, mucho más rápido que através de phpMyAdmin, pues aquí trabajamos directamente con el motor de mySQL sin scripts PHP de por medio.

Salvo que exista algún error en una de las tablas, no debería haber ningún problema. A veces he tenido errores de importación por culpa de tablas que han creado plugins de terceros, sobre todo plugins que realizan algún tipo de seguimiento diario, como los monitores de actividad.

Hay que tener cuidado con este tipo de plugins, pues sin darnos cuenta pueden estar llenando nuestra base de datos poco a poco, haciendo que posteriormente una importación sea mucho más pesada o más propensa a errores. Para este tipo de plugins siempre intento seleccionar que los registros se hagan a un archivo o log externo y no en la base de datos.

Importar SQL desde XAMPP

Si trabajamos con un servidor local como XAMPP y necesitamos importar una gran base de datos para trabajar desde nuestro PC, podemos realizar la misma importación desde un terminal mySQL.

En este caso tenemos que posicionarnos en la ruta donde se encuentra el servidor mySQL en XAMPP:

/opt/lampp/bin/

Dentro de esta ruta tecleamos la orden:

./mysql -u root -p base_de_datos

Si no hemos especificado ninguna contraseña para root, cuando solite la contraseña simplemente pulsamos Intro.

Localizamos donde está el archivo SQL:

./mysql source /home/dani/Documentos/base_de_datos.sql

Y que comience la importación. Esto nos puede resultar muy útil si nos encargan llevar un nuevo proyecto y necesitamos descargarlo a nuestro servidor local para hacer los cambios «offline» y la base de datos es demasiado pesada.

Espero como siempre que os haya resultado útil este post y nos vemos en el siguiente 😉

Archivado en: Publicaciones, Tutoriales Etiquetado como: mysql, phpmyadmin, xampp

Interacciones con los lectores

Comentarios

  1. Alz dice

    11 de agosto de 2021 a las 11:33

    Me ha sido de utilidad, muchas gracias por la explicación

    Responder
  2. Alex dice

    31 de octubre de 2020 a las 03:52

    Muy buen post probaré a importar mi base de datos monstruosa gracias brother

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad

Hosting recomendado

Raiola Networks

Autor

Dani Sánchez
Dani Sánchez
@danisanchez82

Entradas recientes

  • Optimizar el archivo de configuración de WordPress (wp-config.php)
  • ¿Qué plugins tengo instalados en mi web en 2022?
  • Tu alojamiento web no es compatible con la rotación de imágenes. [Solución]
  • Instalar LAMP en Manjaro (Linux, Apache, MySQL y PHP)
  • Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora 34

Comentarios recientes

  1. dani en Publicar en WordPress desde un formulario externo con Advanced Custom Fields
  2. Mikel en Publicar en WordPress desde un formulario externo con Advanced Custom Fields
  3. Armando en Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora 34
  4. Vito en Configurar en español los campos tipo fecha (date) en Ninja Forms
  5. Manel en Calcular rutas con OpenStreetMap partiendo de la geolocalización del usuario

Categorías

  • Actualidad
  • Afiliación AliExpress
  • Agent Press Pro
  • Bettaso Web Restaurantes
  • Cursos
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Iniciación a PHP
  • Joomla!
  • Linux
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • WordPress

Divi 20% descuento

Hosting Recomendado

Raiola Networks
Banner

Sitios web corporativos, blogs y tiendas online cuidando hasta el mínimo detalle

Si deseas proponerme un proyecto web ponte en contacto conmigo.

Contacto

Gestionatuweb © 2022 · Desarrollado con Genesis · Acceder
Política de privacidad · Política de cookies

En Gestionatuweb.net utilizamos cookies técnicas para el correcto funcionamiento del sitio. Además, utilizamos cookies para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Otras cookies son usadas para servicios adicionales, como conexión con redes sociales, marketing o mostrar publicidad acorde a tus gustos. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no en el botón de Preferencias. Más información sobre las cookies que utilizamos en nuestra: Política de cookies.

Gestor de cookies:  GDPR Cookie Compliance
Resumen de uso de cookies

En Gestionatuweb.net utilizamos cookies técnicas para el correcto funcionamiento del sitio. Además, utilizamos cookies para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Otras cookies son usadas para servicios adicionales, como conexión con redes sociales, marketing o mostrar publicidad acorde con tus intereses. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no en el botón de Preferencias.

Cookies técnicas (necesarias)

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies. Estas cookies son:

  • moove_gdpr_popup: Comprueba si debe mostrar o no el aviso de cookies (si ya ha sido aceptado o rechazado no se vuelve a mostrar mientras persista esta cookie). Expira en 1 año.
  • cpnb_cookiesSettings: Comprueba qué categorías de cookies se aceptan o rechazan (por ejemplo, cookies analíticas, cookies de publicidad dirigida, etc.). Expira en 1 año.
  • _GRECAPTCHA: Esta web utiliza el servicio reCAPTCHA para fortalecer la seguridad en los formularios y evitar el envío masivo de SPAM. reCAPTCHA utiliza esta cookie necesaria para realizar su análisis de riesgo. Expira en 6 meses.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de analítica

Utilizamos Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares. Dejando estas cookies activas nos permite mejorar nuestra web.

  • _ga: Analítica de Google. Se usa para distinguir a los usuarios. Expira en 2 años.
  • _gid: Se usa para distinguir a los usuarios. Expira en 24 horas.
  • _gat: Se usa para limitar el porcentaje de solicitudes. Expira en 1 minuto.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Cookies de publicidad

Utilizamos Google Adsense para mostrar publicidad en los artículos del blog acordes a tus intereses. Esta publicidad nos ayuda al mantenimiento del sitio web y del tiempo dedicado a la redacción del blog.

  • _gads: Publicidad de Google Adsense. Proporciona la publicación de anuncios de interés para el usuario. Expira en 13 meses.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Política de cookies

Más información sobre nuestra política de cookies