91 votes

Importer une seule base de données à partir du dump --all-databases

Est-il possible d'importer une seule base de données à partir d'un --all-databases mysqldump ? Je suppose que je peux modifier le fichier manuellement mais je me demande s'il existe des options en ligne de commande pour le faire.

Je suis en train de déplacer des serveurs et j'ai beaucoup de bases de données, dont la plupart ne sont pas nécessaires ou souhaitées pour le moment, mais j'aimerais avoir la possibilité de restaurer une seule d'entre elles si nécessaire.

118voto

Hetzbh Points 11

Vous pouvez utiliser la commande suivante :

mysql -u root -p --one-database destdbname < alldatabases.sql

destdbname est la base de données que vous souhaitez restaurer.

Une autre option, qui est, à mon avis, beaucoup plus sûre, consiste à extraire la base de données d'un fichier de type --all-databases dump. Exemple :

sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldatabases.sql > output.sql

Remplacer dbname avec le nom de la base de données souhaitée. alldatabases.sql est le nom de votre fichier sql-dump. De cette façon, vous aurez les bases de données séparées dans le fichier, et vous pourrez ensuite les restaurer en utilisant une simple commande mysql.

Bonne chance

(Les crédits vont à : Darren Mothersele - voir sa page )

84voto

Quassnoi Points 191041

mysqldump est juste un ensemble de SQL déclarations.

Vous pouvez fournir la base de données souhaitée dans la ligne de commande et sauter les commandes contre les autres bases de données en utilisant :

mysql -D mydatabase -o < dump.sql

Cela n'exécutera les commandes que lorsque mydatabase est en cours d'utilisation

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X