J'ai une base de données Wordpress qui a été installée dans un environnement de développement ... ainsi, toutes les références au site lui-même ont une adresse IP fixe (disons 192.168.16.2). Maintenant, je dois migrer cette base de données vers une nouvelle installation Wordpress sur un hébergement. Le problème est que le vidage SQL contient beaucoup de références à l'adresse IP, et je dois le remplacer par: mon_domaine.com.
Je pourrais utiliser sed
ou une autre commande pour changer cela à partir de la ligne de commande, le problème est qu'il y a beaucoup de données de configuration qui utilisent JSON. Et alors? Eh bien, comme vous le savez, les tableaux JSON utilisent des choses comme: s:4:
pour savoir combien de caractères a un élément, et donc, si je remplace simplement l'IP par le nom de domaine, les fichiers de configuration seront corrompus.
Il y a quelques années, j'ai utilisé une application pour Windows qui permet de modifier les valeurs d'une base de données et prend en charge les tableaux JSON. Malheureusement, j'ai oublié le nom de l'application ... alors la question est: connaissez-vous une application qui me permet de faire ce que je veux?
Réponses:
Les données que vous regardez ne sont pas au format JSON. JSON ne stocke pas (normalement) les types de valeurs et les longueurs comme ça. Ce que vous regardez, ce sont des données SERIALISEES. Une recherche google pour "mysql replace serialized" donne cette page, ce qui pourrait aider: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/
la source
Le Codex a un guide décent - Changer l'URL du site .
Fondamentalement, il y a plusieurs endroits où l'URL compte ou pas tellement (j'en manque peut-être):
home
et lessiteurl
options qui contrôlent où WP pense que le site est;la source
mv olddir.com newdir.com
vous aurez besoin de reconfigurer votre serveur Web, redémarrez le serveur Web. Suivez les instructions du codex ici et vous devriez pouvoir vous connecter en tant qu'administrateur. Cela devrait vous aider à démarrer :-)Comme Rarst l'a dit ci-dessus, il n'y a que deux paramètres dans la base de données qui doivent être modifiés. Après avoir importé la base de données, je me connecte à PHPMyAdmin et édite la base de données directement.
J'utilise un serveur de développement sur mon PC tout le temps pour importer des flux de données et ils ont l'URL attachée aux messages le long de http: // localhost / testsite / post-name / et cela n'a jamais causé de problème.
J'avais l'habitude d'utiliser une recherche SQL et de remplacer jusqu'à ce que je réalise que cela n'avait pas d'importance. J'ai migré quelques sites d'un domaine à un autre et où j'ai eu des URL absolues dans le contenu, j'utiliserai l'option de recherche et de remplacement SQL.
David
la source
Ceci est une ressource incroyable que j'ai mis en signet que je reviens à maintes reprises http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew -plus tôt/
Ils déclarent
la source
Vous pouvez définir ces valeurs avec des constantes dans le
wp-config.php
. Après cela, vous pouvez, quand vous le souhaitez, modifier les entrées de la base de données via le plugin Adminer. Écrivez ceci dans lewp-config.php
et les valeurs dans le DB ne sont pas pertinentes:la source
Jetez un oeil à ma réponse à cette question:
Il résout vos problèmes de nettoyage des données et peut être personnalisé pour des besoins de migration de données spécifiques en utilisant également des crochets.
J'espère que cela aide.
la source
Requêtes SQL simples - aucune tâche de REMPLACEMENT compliquée n'est requise:
Utilisez ceux avec PHPMyAdmin ou tout autre moyen que vous préférez pour accéder à la base de données.
la source
Assurez-vous que la nouvelle base de données est sélectionnée, puis exécutez des mises à jour SQL et des commandes de remplacement sur les tables, notamment wp_options, wp_posts, wp_postmeta.
Utilisez le code ci-dessous et permutez vos anciennes et nouvelles URL, sans barres obliques de fin. Si nécessaire, modifiez également les valeurs de préfixe de table, le cas échéant (par exemple wp_)
la source
C'est une très vieille question, mais comme je l'ai rencontrée en cherchant autre chose, j'ai pensé l'ajouter pour référence future.
Je pense que la façon la plus simple et la plus complète de le faire est d'utiliser searchreplacedb2.php. Il peut être trouvé ici: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ avec une explication de son utilisation.
Cela m'a certainement fait gagner beaucoup de temps avec la migration des environnements de développement vers les environnements vivants sur mes sites wordpress.
Assurez-vous simplement de le supprimer d'un serveur public une fois que vous avez terminé!
la source
Je vois que vous souhaitez déplacer votre site WordPress de l'environnement de développement vers un nouveau serveur ou serveur de production.
Récemment, j'ai déplacé mon site vers le serveur de production et je suis confronté à la même situation. J'ai besoin de mettre à jour l'URL du site car WordPress a stocké l'URL du site dans la base de données.
J'ai trouvé une bonne requête MySQL en utilisant que je peux facilement changer d'URL directement à partir de la base de données.
Il vous suffit de remplacer l'URL de votre site de l'ancien nom de domaine vers le nouveau domaine, puis d'exécuter la requête sur MySQL à l'aide de PHPMYADMIN.
Pour plus de référence, vous pouvez lire ce tutoriel.
https://tryvary.com/wordpress-change-url-in-database-using-mysql-query/
la source