Existe-t-il un moyen approprié d’exporter et d’importer une grosse base de données WordPress MySQL vers une nouvelle base de données?
Lorsque j'ai essayé de le faire de manière standard, j'ai rencontré deux problèmes:
Tous les widgets ont disparu et je devais les créer à partir de zéro
J'ai eu des problèmes avec des caractères spéciaux tels que '
et j'ai dû rechercher et remplacer les lettres de charabia
Ceci est très important car je dois passer d'un hébergement partagé à un serveur géré. Toutes les versions Apache, php et MySQL seront les mêmes.
Ps: il faudra que ce soit des commandes SSH car phpadmin a expiré du fait de la taille de la base de données.
J'utilise normalement mysqldump et sed:
sur l'ancien serveur:
mysqldump -u user -p OldWpdatabase > wpdb.sql
sed -i 's/oldurl/newurl/g' wpdb.sql
sur le nouveau serveur:
mysql -u user -p NewWpdatabase < wpdb.sql
sed est utilisé pour rechercher et remplacer toutes les occurrences codées en dur du site Web si nécessaire.
Lorsque votre nom de domaine ou vos URL changent, d'autres problèmes se posent. Les fichiers et la base de données peuvent être déplacés. Toutefois, les références à l'ancien nom de domaine ou à l'emplacement resteront dans la base de données, ce qui peut entraîner des problèmes liés à l'affichage des liens ou des thèmes.
Si vous effectuez une recherche et remplacez l'ensemble de votre base de données pour modifier les URL, vous pouvez des problèmes de sérialisation des données, car certains thèmes et widgets stockent des valeurs avec la longueur de votre URL marquée. Quand cela change, les choses se cassent. Pour éviter ce problème de sérialisation, vous avez trois options: