Tip MySQL para migrar WordPress de un servidor a otro

Hoy explico un tip MySQL que entra en juego siempre que migramos WordPress de un servidor a otro. Esta entrada es una continuación y una ampliación del post Copia un WordPress en tu máquina local y ponlo a correr… ¡ya!.

Cloud and database

En aquella ocasión aprendimos a clonar WordPress en nuestra máquina local, echando mano de option_id para explicar la parte técnica. Hoy explicaré en otro contexto cómo utilizar option_name. Así nos familiarizaremos con la base de datos de WordPress y veremos mejor cómo funciona por dentro este fantástico sistema de blogging.

Vamos a poner un poco de contexto. El proceso de migración de WordPress consiste en lo siguiente. Primero se levanta el nuevo servidor y ahí ponemos un clon del viejo WordPress. Luego, cuando ya nos hemos asegurado de que el nuevo WordPress funciona en la nueva máquina tal y como esperamos que lo haga, esto es sin errores, ya podemos dar el último paso de la migración.

El último paso de la migración consiste en actualizar el registro A del servidor DNS de tu proyecto WordPress y hacer que apunte a la IP de la nueva máquina.

En resumen, en el proceso de migración tenemos que:

  • Instalar en el nuevo server todo el software necesario para correr WordPress
  • Configurar las directivas PHP que hagan falta
  • Instalar la base de datos
  • Actualizar wp-config.php con los nuevos parámetros
  • Hacer pruebas hasta que veamos que el nuevo WordPress funciona como esperamos, sin errores
  • Actualizar el registro A del DNS, hacer que apunte a la nueva IP

Migrate to cloud

Lo anterior es un resumen. Esto que se dice tan rápido se compone en realidad de varios pasos que deben llevarse a cabo minuciosamente. No desesperes si no te sale a la primera. Yo te puedo ayudar, estás invitad@ a dejar tu comentario en este post 😀 explicando tu problema.

Como alternativa si queréis otro día puedo escribir una entrada que detalle todo esto un poco más.

Hoy como digo vamos a ver un pequeño tip MySQL. Todos los que seguisteis la entrada Copia un WordPress en tu máquina local y ponlo a correr… ¡ya! seguro que aprendéis cosas nuevas.

Pues bien, supongamos que ya hemos levantado el nuevo servidor y que ya hemos puesto una réplica de la BBDD. Para poder ejecutar el proyecto en el nuevo servidor hay que cambiar aquellas entradas de la BBDD que almacenan el nombre de dominio y que son imprescindibles para el funcionamiento de WordPress.

Para ver qué opciones WordPress contienen el nombre de tu website puedes escribir este comando:

SELECT option_id, option_name from wp_options WHERE option_value LIKE '%example%';

Aquí, claro, tienes que sustituir example por el nombre de tu web. No te asustes. Te saldrá una lista con un montón de resultados. Todos esos son los campos donde aparece el nombre de dominio de tu web.

Sin embargo, solo hay que actualizar estas opciones:

UPDATE wp_options SET option_value='http://example.migrating' WHERE option_name='siteurl';
UPDATE wp_options SET option_value='http://example.migrating' WHERE option_name='home';
UPDATE wp_options SET option_value='https://example.migrating' WHERE option_name='wordpress-https_ssl_host';

Así podremos ejecutar el WordPress del nuevo servidor (en proceso de migración) en nuestro navegador favorito, escribiendo el URL http://example.migrating en la barra de direcciones.

Ahora voy a hacer una aclaración importante. Por supuesto, para que WP responda a tus peticiones http://example.migrating, acuérdate de crear en tu archivo hosts una entrada nueva que asocie el dominio example.migrating a la IP del servidor nuevo, si no todo esto no funcionará.

Por ejemplo, en C:\Windows\System32\Drivers\etc\hosts incluimos esta línea nueva al final del archivo:

74.123.89.201		example.migrating

Con WP levantado en el servidor nuevo, habiendo habilitado el servidor de migración, ya está todo listo para hacer todas las pruebas necesarias que permitan asegurarnos que el nuevo WordPress funciona bien.

Reloj

Ok, imagínate que ya te has pasado una o dos horas probando un montón de cosas en tu http://example.migrating y concluyes que ya estás listo para dar el paso final.

Acuérdate entonces de dejar la BBDD tal y como te la encontraste:

UPDATE wp_options SET option_value='http://example.com' WHERE option_name='siteurl';
UPDATE wp_options SET option_value='http://example.com' WHERE option_name='home';
UPDATE wp_options SET option_value='https://example.com' WHERE option_name='wordpress-https_ssl_host';

Ahora ya sí. Con todo lo anterior ya puedes actualizar el registro A de tu servidor DNS y decirle que example.com apunte a la dirección IP de tu nuevo servidor.

Bueno amig@s pues esto ha sido todo por hoy. Espero que esta entrada os haya servido para familiarizaros con WordPress, ya veis que a veces nos interesará utilizar MySQL para llevar a cabo tareas de forma rápida y sencilla.

Si tienes alguna duda sobre algo de lo que hemos explicado hoy te invito a que comentes este post y vemos qué sucede.