Cómo hacer una copia de seguridad e importar una gran base de datos MySQL de WordPress

Recientemente tuve la experiencia de trabajar con una base de datos muy grande (más de 40MB) para un sitio WPMU + BuddyPress + bbPress que era simplemente demasiado grande para exportar e importar con phpMyAdmin.

Todo lo que quería hacer era crear una simple copia de seguridad y luego un entorno de prueba en otro dominio. Puede que hayas experimentado esto antes – todas las herramientas normales se atascan, haciendo que el proceso habitual de importación/exportación sea una experiencia frustrante. Esto es especialmente común con los grandes sitios de WPMU que han existido por un tiempo.

Querrás marcar esta referencia si anticipas que tendrás que crear e importar copias de seguridad de grandes sitios de WordPress Multisite y/o BuddyPress.

La solución que funcione para usted dependerá enteramente de cómo esté configurado su servidor, el tamaño de su base de datos y las herramientas que se sienta cómodo utilizando. Aquí hay algunos trucos que puedes intentar para que tus copias de seguridad e importaciones funcionen. Mis instrucciones se basan en el uso de PuTTY para Windows, pero el proceso será similar para otros sistemas operativos.

Si tienes acceso de raíz a tu servidor, crea una copia de seguridad usando SSH

Contenido

Leer
7 razones por las que tus plugins o temas de WordPress no se instalan

cd al directorio donde quieres almacenar tu archivo de volcado:

cd /var/www/vhosts/yourdomain.com/httpdocs/sqldump

Entonces dile a Mysql que lo tire:

mysqldump –add-drop-table -u dbuser -p your_db > mybackup.sql

Le pedirá su contraseña. Todo debería salir sin problemas.

* Nota: El directorio donde estás enviando el archivo de volcado debe ser escribible por el servidor. Además, no quieres dejarlo en esa carpeta permanentemente. Sólo déjalo allí y sácalo del servidor para que puedas manipularlo si es necesario.

Cómo importar un archivo SQL grande

La importación suele ser un poco más complicada. Si está duplicando esta base de datos para fines de prueba o moviendo su sitio a un nuevo servidor, un archivo de volcado grande, incluso cuando está comprimido, puede plantear algunos desafíos en el proceso de importación. Esta es la parte en la que las cosas se pueden estancar, y necesitas algunos trucos bajo la manga. Aquí hay tres métodos que se recomiendan para los archivos SQL grandes.

Método 1: Primero intenta SSH

Normalmente, sólo usaría phpMyAdmin para importar el archivo. Como es tan grande, lo primero que debes hacer es intentar importarlo por SSH:

mysql -u tu_base de datos -p db_usuario < mybackup.sql

Error común cuando se usa SSH:

“tiene un paquete más grande que los bytes de ‘max_allowed_packet'”

¿Y ahora qué? Dependiendo del tamaño de tu archivo, ejecutar este comando puede arreglarlo para ti:

mysql ]; set global max_allowed_packet=1000000000; mysql ]; set global net_buffer_length=1000000;

Leer
Cómo cambiar de forma segura la estructura de tu Permalink sin matar tu rango en el SERP

Entonces intenta importar tu base de datos después de esto. Si todavía no funciona, podrías intentar dividirla.

Método 2: Si SSH falla en la importación, intenta dividir tu archivo SQL

Descargue un programa que divida su archivo SQL, como SQLDumpSplitter3. Se trata de un divisor de archivos de volcado de SQL gratuito que le permitirá determinar el tamaño de sus chuletas y cortará y guardará automáticamente su archivo SQL dividido. Sí, esto es una molestia, pero a veces es la única manera de lograrlo.

SQLDumpSplitter3

Crea las divisiones y luego súbelas a un directorio en tu servidor.

Si quieres restaurar el volcado, tienes que ejecutar primero el archivo yourdatabase_DataStructure.sql porque contiene la estructura de las Tablas. Después de eso, puedes ejecutar los otros archivos .sql ya que contienen los datos de las tablas ahora existentes. Usando SSH, lleva el CD a tu directorio de nuevo y asegúrate de enviar esto primero:

mysql -u db_user -p db_name < yourbackup_DataStructure.sql

Luego se separan:

mysql -u db_user -p db_name < yourbackup_1.sql mysql -u db_user -p db_name < yourbackup_2.sql

etc…

Sólo recomendaría esto si su archivo SQL se divide fácilmente en unas pocas secciones. Obviamente, si va a tomar más de un puñado, esta técnica puede llevar mucho tiempo. Lo sé, porque lo intenté antes de descubrir otro método.

Método 3: Usar un guión que escalone el proceso de importación

Esta es mi solución favorita, ya que era la única que funcionaba sin problemas. Utilicé un script llamado BigDump.php, un importador de volcado SQL escalonado. Ejecuta sólo una pequeña parte del enorme volcado y se reinicia a sí mismo. La siguiente sesión comienza donde se detuvo la última para evitar que se corra dentro de los límites de su servidor. Las instrucciones para usarlo están en el sitio web de BigDump. Básicamente se coloca el archivo SQL en una carpeta de su servidor, junto con el archivo bigdump.php. Usted edita ese archivo con la información de su base de datos y luego visita la página en su servidor y establece la importación para ir. Este es un proceso bastante rápido y le ahorrará mucho tiempo.

Leer
Cómo añadir notificaciones Web Push a tu sitio web de WordPress

Hay algunas cosas más pequeñas que puedes hacer para ayudar a reducir el tamaño de tu base de datos, que hemos resumido en un artículo llamado 10 consejos para mantener una base de datos de WordPress chillona y limpia. Haz una copia de seguridad de tu base de datos e investiga algunas de ellas para reducirla.

Estoy seguro de que hay otros trucos para intentar superar los límites de los archivos grandes, así que no dudes en publicar en los comentarios si sabes de alguna otra cosa que se me olvide o que pueda ayudar a otros usuarios de WordPress.

Etiquetas:

  • copia de seguridad
  • base de datos
  • importación-exportación

Deja una respuesta