Comment exporter et importer toutes les bases de données MySQL

De nombreux développeurs et utilisateurs pro s'appuient sur MySQL pour leurs besoins de base de données. Nous verrons comment exporter ou vider toutes les bases de données de MySQL, vider une seule base de données et montrer comment importer toutes ces bases de données à partir d'un fichier database.sql dans MySQL.

Bien qu'il existe des outils basés sur l'interface graphique pour interagir avec MySQL, nous allons nous concentrer sur la ligne de commande ici. Les commandes MySQL fonctionnent avec n'importe quelle version du logiciel de base de données sur n'importe quel système d'exploitation Unix, y compris Linux, Mac OS et Mac OS X, ou tout autre système sur lequel vous exécutez mySQL.

Nous supposerons que vous avez déjà MySQL installé et en cours d'exécution, sinon vous pouvez apprendre à démarrer et arrêter le serveur MySQL sur Mac OS ici et télécharger MySQL ici ou si vous cherchez une pile de serveurs web complète, consultez le facile à utiliser MAMP pour Mac.

Comment vider toutes les bases de données de MySQL via la ligne de commande

Le moyen le plus simple de vider toutes les bases de données de MySQL dans un fichier .sql, pour la sauvegarde ou la migration ou autrement, utilise le drapeau -all-databases comme ceci:

mysqldump --all-databases > all_databases_dump.sql

Étant donné que cette commande exporte toutes les bases de données, il n'est pas nécessaire de spécifier un nom de base de données. Toutes les bases de données stockées dans mySQL seront sauvegardées dans le fichier d'exportation "all_databases_dump.sql" dans le répertoire de travail actuel.

Si besoin est, vous pouvez également spécifier un nom d'utilisateur et un mot de passe lors du vidage de toutes les bases de données, dans ce cas avec le nom d'utilisateur root:

mysqldump -u root -p --all-databases > all_databases.sql

Après que la base de données mysql a été sauvegardée, ma préférence personnelle est de créer un gzip tar à partir de celui-ci comme décrit ici, mais c'est entièrement facultatif.

Comment exporter une base de données spécifique à partir de MySQL

Si vous souhaitez vider une base de données spécifique par nom plutôt que d'exporter toutes les bases de données, cela est tout aussi simple:

mysqldump database_name > database_name_dump.sql

La commande mysqldump possède de nombreux paramètres et indicateurs qui peuvent être utiles pour exporter et sauvegarder des bases de données, vous pouvez en apprendre plus sur la page de manuel avec "man mysqldump" ou en lisant ici sur le site dev.mysql.

Comment importer toutes les bases de données dans MySQL

Bien sûr, si vous avez une sauvegarde de base de données, l'importer dans MySQL est important. Voici le moyen le plus simple d'importer toutes les bases de données d'un fichier database.sql dans MySQL via la ligne de commande:

mysql database_name < database_dump.sql

Et comme pour exporter une base de données, lors de l'importation, vous pouvez également spécifier un nom d'utilisateur si vous le souhaitez:

mysql -u root -p < database_dump.sql

Vous spécifiez également un autre nom d'utilisateur ou une autre base de données:

mysql -u user -p database_name < database_dump.sql

Importer une base de données spécifique dans MySQL

Vous pouvez également importer une base de données spécifique dans un gros fichier par nom:

mysql --one-database database_name < all_databases.sql

Comme précédemment, si vous avez des difficultés à importer des bases de données dans mysql, vous pouvez accéder à la page de manuel avec 'man mysql' ou à la documentation officielle sur le site de développement mysql.

Connaissez-vous des astuces intéressantes pour exporter des bases de données et importer des bases de données dans MySQL? Faites le nous savoir dans les commentaires!