Tengo una base de datos de Wordpress que se instaló en un entorno de desarrollo ... por lo tanto, todas las referencias al sitio tienen una dirección IP fija (por ejemplo, 192.168.16.2). Ahora, tengo que migrar esa base de datos a una nueva instalación de Wordpress en un hosting. El problema es que el volcado de SQL contiene muchas referencias a la dirección IP, y tengo que reemplazarlo por: my_domain.com.
Podría usar sed
o algún otro comando para cambiar eso desde la línea de comando, el problema es que hay muchos datos de configuración que usan JSON. ¿Y qué? Bueno, como saben, las matrices JSON usan cosas como: s:4:
para saber cuántos caracteres tiene un elemento y, por lo tanto, si solo reemplazo la IP con el nombre de dominio, los archivos de configuración se dañarán.
Hace unos años, utilicé una aplicación para Windows que permite cambiar valores en una base de datos y se encarga de las matrices JSON. Desafortunadamente, olvidé el nombre de la aplicación ... así que la pregunta es: ¿conoces alguna aplicación que me permita hacer lo que quiero?
Respuestas:
Los datos que está viendo no tienen formato JSON. JSON no (normalmente) almacena tipos de valores y longitudes como esa. Lo que estás viendo son datos SERIALIZADOS. Una búsqueda en Google para "mysql replace serialized" produce esta página, que podría ayudar: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/
fuente
El Codex tiene una guía decente: cambiar la URL del sitio .
Básicamente, hay varios lugares donde la URL importa o no tanto (es posible que me falten algunos):
home
ysiteurl
opciones que controlan dónde piensa WP que está el sitio;fuente
mv olddir.com newdir.com
necesite volver a configurar su servidor web, reinicie el servidor web. Siga las instrucciones del códice aquí y luego podrá iniciar sesión como administrador. Eso debería comenzar :-)Como Rarst dijo anteriormente, solo hay dos configuraciones en la base de datos que NECESITAN cambiar. Después de importar la base de datos, inicio sesión en PHPMyAdmin y edito la base de datos directamente.
Uso un servidor de desarrollo en mi PC todo el tiempo para importar fuentes de datos y tienen la URL adjunta a las publicaciones en la línea de http: // localhost / testsite / post-name / y nunca ha causado un problema.
Solía usar una búsqueda y reemplazo de SQL hasta que me di cuenta de que no importaba. He migrado algunos sitios de un dominio a otro y donde he tenido URL absolutas en el contenido, usaré la opción de búsqueda y reemplazo de SQL.
David
fuente
Este es un recurso increíble que he marcado que vuelvo una y otra vez http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew -más temprano/
Ellos dicen
fuente
Puede establecer estos valores con constantes en
wp-config.php
. Después de esto, puede, cuando lo desee, cambiar las entradas en la base de datos a través del complemento Adminer. Escriba esto enwp-config.php
y los valores en el DB no son relevantes:fuente
Echa un vistazo a mi respuesta a esta pregunta:
Aborda sus problemas con la limpieza de datos y también se puede personalizar para necesidades específicas de migración de datos mediante el uso de ganchos.
Espero eso ayude.
fuente
Consultas SQL simples: no se requieren REPLACE complicados:
Use aquellos con PHPMyAdmin o cualquier otra forma que prefiera para acceder a la base de datos.
fuente
Asegúrese de tener seleccionada la nueva base de datos, luego ejecute algunas actualizaciones de sql y comandos de reemplazo en las tablas en particular, wp_options, wp_posts, wp_postmeta.
Use el código que se muestra a continuación e intercambie sus URL antiguas y nuevas, sin barras diagonales finales. Además, si es necesario, cambie los valores del prefijo de la tabla donde corresponda (es decir, wp_)
fuente
Esta es una pregunta muy antigua, pero como la encontré mientras buscaba algo más, pensé agregarla para referencia futura.
Creo que la forma más simple y completa de hacer esto es mediante searchreplacedb2.php. Se puede encontrar aquí: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ junto con una explicación de su uso.
Definitivamente me ha ahorrado mucho tiempo al migrar de entornos de desarrollo a entornos en vivo en mis sitios de WordPress.
¡Solo asegúrese de eliminarlo de un servidor público una vez que haya terminado!
fuente
Veo que desea mover su sitio de WordPress del entorno de desarrollo a un nuevo servidor o servidor de producción.
Recientemente, moví mi sitio al servidor de producción y me enfrento a la misma situación. Necesito actualizar la URL del sitio porque WordPress almacenó la URL del sitio en la base de datos.
Encontré una buena consulta MySQL con la que puedo cambiar fácilmente la URL directamente desde la base de datos.
Solo necesita reemplazar la URL de su sitio del antiguo nombre de dominio al nuevo dominio y luego ejecutar la consulta en MySQL usando PHPMYADMIN.
Para más referencia, puede leer este tutorial.
https://tryvary.com/wordpress-change-url-in-database-using-mysql-query/
fuente