Eu tenho um banco de dados Wordpress que foi instalado em um ambiente de desenvolvimento ... portanto, todas as referências ao site em si têm um endereço IP fixo (por exemplo, 192.168.16.2). Agora, tenho que migrar esse banco de dados para uma nova instalação do Wordpress em uma hospedagem. O problema é que o dump SQL contém muitas referências ao endereço IP e eu tenho que substituí-lo por: meu_domínio.com.
Eu poderia usar sed
ou algum outro comando para alterar isso na linha de comando, o problema é que existem muitos dados de configuração que usam JSON. E daí? Bem, como você sabe, as matrizes JSON usam coisas como: s:4:
para saber quantos caracteres um elemento possui e, assim, se eu apenas substituir o IP pelo nome de domínio, os arquivos de configuração serão corrompidos.
Eu usei um aplicativo para Windows há alguns anos atrás que permite alterar valores em um banco de dados e cuida das matrizes JSON. Infelizmente, esqueci o nome do aplicativo ... então a pergunta é: você conhece algum aplicativo que me permita fazer o que quero?
Respostas:
Os dados que você está vendo não estão no formato JSON. JSON (normalmente) não armazena tipos e comprimentos de valor assim. O que você está vendo são dados SERIALIZADOS. Uma pesquisa no google por "mysql replace serialized" gera esta página, o que pode ajudar: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/
fonte
O Codex possui um guia decente - Alteração da URL do site .
Basicamente, existem vários lugares onde o URL importa ou não tanto (talvez esteja faltando alguns):
home
esiteurl
opções que controlam onde o WP pensa que o site está;fonte
mv olddir.com newdir.com
precisar reconfigurar seu servidor da Web, reinicie o servidor. Siga as instruções do codex aqui e, em seguida, você poderá fazer login como administrador. Isso deve ajudá-lo a começar :-)Como Rarst disse acima, existem apenas duas configurações no banco de dados que precisam ser alteradas. Depois de importar o banco de dados, eu entro no PHPMyAdmin e edito o banco de dados diretamente.
Eu uso um servidor de desenvolvimento no meu PC o tempo todo para importar feeds de dados e eles têm o URL anexado aos Posts ao longo das linhas http: // localhost / testsite / post-name / e isso nunca causou um problema.
Eu costumava usar uma pesquisa SQL e substituir até perceber que não importava. Migrei alguns sites de um domínio para outro e, onde tive URLs absolutos no conteúdo, usarei a opção de pesquisa e substituição do SQL.
David
fonte
Este é um recurso incrível que eu marquei que eu volto várias vezes http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew -earlier /
Eles afirmam
fonte
Você pode definir esses valores com constantes no
wp-config.php
. Depois disso, você pode, quando quiser, alterar as entradas no banco de dados via plugin Adminer. Escreva isso nowp-config.php
e os valores no banco de dados não são relevantes:fonte
Dê uma olhada na minha resposta a esta pergunta:
Ele soluciona seus problemas com a limpeza de dados e pode ser personalizado para necessidades específicas de migração de dados usando também ganchos.
Espero que ajude.
fonte
Consultas SQL simples - não é necessário nenhum material REPLACE complicado:
Use aqueles com PHPMyAdmin ou qualquer outra maneira que você preferir acessar o banco de dados.
fonte
Verifique se o novo banco de dados está selecionado e, em seguida, execute algumas atualizações sql e comandos de substituição nas tabelas, nomeadamente: wp_options, wp_posts, wp_postmeta.
Use o código abaixo e troque seus URLs antigos e novos, sem barras. Se necessário, altere os valores do prefixo da tabela, quando aplicável (por exemplo, wp_)
fonte
Essa é uma pergunta muito antiga, mas desde que me deparei com ela enquanto procurava por outra coisa, pensei em adicionar isso para referência futura.
Eu acho que a maneira mais simples e completa de fazer isso é usando o searchreplacedb2.php. Pode ser encontrado aqui: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ junto com uma explicação de seu uso.
Definitivamente, me poupou muito tempo com a migração de ambientes dev para live em meus sites wordpress.
Apenas certifique-se de excluí-lo de um servidor público depois de terminar!
fonte
Vejo que você deseja mover seu site WordPress do ambiente de desenvolvimento para um novo servidor ou servidor de produção.
Recentemente, mudei meu site para o servidor de produção e enfrento a mesma situação. Preciso atualizar o URL do site porque o WordPress armazenou o URL do site no banco de dados.
Eu encontrei uma boa consulta MySQL usando que eu posso facilmente mudar a URL diretamente do banco de dados.
Você só precisa substituir o URL do site do nome de domínio antigo para o novo domínio e executar a consulta no MySQL usando PHPMYADMIN.
Para mais referência, você pode ler este tutorial.
https://tryvary.com/wordpress-change-url-in-database-using-mysql-query/
fonte