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

Dani Sánchez

  • ¿Eres agencia?
  • Quién soy
  • Servicios WordPress
    • Mantenimiento
    • Maquetación
    • Soporte técnico
  • Portfolio
  • Blog
  • Presupuestos
Estás en: Inicio / Publicaciones / Importar base de datos SQL de gran tamaño sin phpMyAdmin

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

El 10 de septiembre de 2019 por dani.sanchez

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 😉

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

¿Quiéres invitarme a un café?

Si te has fijado en este blog no hay ni rastro de publicidad, todo el contenido publicado lo hago de forma artruista al igual que yo recurro a otros sitios cuando necesito algo. Pero si te he servido de ayuda y quieres agradecérmelo, puedes hacer una pequeña donación (el importe que quieras):

Entradas similares

  • Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  • Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed
  • PRO Elements, o como tener Elementor Pro libre y gratuito
  • Tip para Elementor: Alinea elementos de forma óptima
  • Habilitar el soporte de Wayland en Firefox

Interacciones con los lectores

Comentarios

  1. Alex dice

    31 de octubre de 2020 a las 03:52

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

  2. Alz dice

    11 de agosto de 2021 a las 11:33

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

Barra lateral principal

Autor

Dani Sánchez

logo mastodon @danisanchez

Entradas recientes

  • Importar un proyecto WordPress en un contenedor Docker
  • Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  • Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed
  • PRO Elements, o como tener Elementor Pro libre y gratuito
  • Tip para Elementor: Alinea elementos de forma óptima

Comentarios recientes

  1. Juan en PRO Elements, o como tener Elementor Pro libre y gratuito
  2. Pepe Barrascout en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  3. dani.sanchez en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  4. Denys Vega en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  5. Ramon Tubau en Evitar que WordPress pida los datos FTP al instalar o actualizar un plugin o tema en localhost

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

Maquetación web, landings, blogs y tiendas online
cuidando hasta el mínimo detalle

Si necesitas que desarrolle tu proyecto web ponte en contacto conmigo.

Contacto
  • Mastodon
  • YouTube
  • LinkedIn

Dani Sánchez © 2023 · Política de privacidad · Política de cookies

En mi sitio web utilizo cookies de carácter técnico para el correcto funcionamiento de la plataforma. Además de cookies analíticas de terceros 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. 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 el uso de cookies en la: Política de cookies.

Powered by  GDPR Cookie Compliance
Resumen de privacidad

En mi sitio web utilizo cookies de carácter técnico para el correcto funcionamiento de la plataforma. Además de cookies analíticas de terceros 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. 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 el uso de cookies en la: Política de cookies.

Cookies técnicas necesarias

Las cookies técnicas necesarias tienen que activarse siempre para poder guardar tus preferencias de ajustes de cookies.

  • 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.
  • wordpress_[hash]: Cookie restringida al área de administración (wp-admin). No se ve en el frontend incluso estando registrado. Guarda tus datos de acceso. Técnica de sesión. Necesaria.
  • wordpress_sec_[hash]: Lo mismo que la anterior. Necesaria.
  • wordpress_logged_in_[hash]:  Guarda quien eres mientras estás registrado y lo usa WordPress para su interfaz. Técnica de sesión. Necesaria.
  • wp-postpass_[hash]: Cookie donde se guarda el acceso a páginas protegidas con contraseña. Técnica persistente. Tiempo por defecto 10 días.

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

Política de cookies

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