web-dev-qa-db-fra.com

Comment exporter/importer correctement la base de données WordPress (MySQL) via la ligne de commande?

Normalement, une base de données MySQL peut être exportée et importée à l’aide de ces commandes SSH simples:

Exporter:

mysqldump -u USERNAME -p DATABASE_NAME > filename.sql

Importer:

mysql -u USERNAME -p DATABASE_NAME < filename.sql

Mais ce n'est pas si simple quand il s'agit de WordPress. D'après ce que je vois, il faut mentionner des paramètres supplémentaires, tels que --add-drop-table par exemple.

Le codex WordPress fait donne quelques informations , mais il semble encombré et pas assez clair.

Ce serait formidable si quelqu'un qui utilise la ligne de commande peut partager les commandes appropriées pour exporter et importer une base de données WordPress, avec quelques explications (de tout nouveau paramètre utilisé).

Aussi, y a-t-il des raisons pour lesquelles il ne serait pas conseillé d'utiliser la ligne de commande pour gérer une base de données, mais plutôt d'utiliser une interface graphique telle que phpMyAdmin?

7
its_me

C'est aussi simple que cela pour Wordpress. J'utilise les éléments suivants pour sauvegarder mes sites WP:

mysqldump -u <user> -p<pass> --quick --extended-insert <db-name> > backup.sql

Le document mysqldump donne les détails sur tous les paramètres.

--extended-insert est plus rapide lors de la mise à jour d'une base de données à partir d'un fichier de vidage et le rend plus petit.

--quick accélère la création du dump.

Vous n'avez pas vraiment besoin d'utiliser l'un ou l'autre, cela rend les choses un peu plus rapides et écrire un insert pour chaque ligne me rend plus heureux - votre syntaxe de dump originale irait très bien.

N'oubliez pas cependant que la base de données contient des entrées spécifiques à un domaine. Par conséquent, si vous utilisez cette méthode pour la sauvegarde/la restauration, tout va bien, mais si vous souhaitez passer de one.com à two.com, vous devez l'éditer. entrées dans wp_options après la restauration de votre vidage.

11
Steve Claridge

Ayant investi le temps d'apprendre les bases de la ligne de commande, j'utilise de moins en moins phpMyAdmin maintenant. Cependant, je trouve cela plus facile lorsque je dois parcourir ou modifier une entrée (telle que la modification des entrées wp_options, comme le mentionne Steve ci-dessus). J'utilisais aussi l'interface graphique lorsque je voulais exclure une table particulièrement volumineuse (telle que les journaux d'un plugin) qui n'avait pas besoin d'être sauvegardée. Mais j'ai découvert que vous pouvez simplement ajouter

--ignore-table=my_db_name.my_table_name my_db_name
1
markcbain

Pour copier un site vers un nouvel emplacement.

utilisez --add-drop-table lors de l'exportation, si vous importez dans une base de données vide. omettez --add-drop-table lors de l'exportation, si vous importez pour fusionner la base de données.

N'oubliez pas de mettre à jour wp_options après l'importation à chaque fois, car path est différent. Mettez également à jour le fichier .htaccess avec le nouveau chemin.

0
user3548101