Mysql
 sql >> Base de données >  >> RDS >> Mysql

Importation depuis et exportation vers des fichiers à l'aide de la ligne de commande MySQL

Pour exporter ou importer avec MySQL, commencez par vous connecter à votre serveur, de préférence avec sudo accès (racine).

Exporter depuis MySQL

Le meilleur outil pour exporter une base de données MySQL vers un fichier texte est mysqldump .

Pour utiliser mysqldump , vous devrez connaître les identifiants de connexion d'un MySQL user approprié qui dispose des privilèges nécessaires pour exporter la base de données en question.

Avec ces informations en main, entrez le mysqldump commande avec les indicateurs et options appropriés :

$ mysqldump -u my_username -p database_name > output_file_path

Les options utilisées sont :

  • Le -u flag indique que le username MySQL suivra.
  • Le -p flag indique que nous devrions être invités à saisir le password associé au username ci-dessus .
  • database_name est bien sûr le nom exact de la base de données à exporter.
  • Le > le symbole est une directive Unix pour STDOUT , qui permet aux commandes Unix de générer les résultats textuels de la commande émise vers un autre emplacement. Dans ce cas, cet emplacement de sortie est un chemin de fichier, spécifié par output_file_path .

Remarque :Il est généralement conseillé de saisir le chemin complet et le nom de fichier pour le output_file_path , de sorte que le fichier résultant est généré exactement là où vous le souhaitez.

Par exemple, pour exporter les books base de données en tant que book_admin utilisateur à la ~/backup/database répertoire, nous pourrions utiliser la commande suivante :

$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:

Après avoir entré notre mot de passe lorsque vous y êtes invité ci-dessus, cette commande crée ensuite notre fichier de sauvegarde avec un .sql suffixe (complètement facultatif mais conseillé) dans le répertoire approprié.

Par défaut, mysqldump ne le fera pas enregistrer les commandes qui tentent de modifier l'existence de la base de données réelle. Au lieu de cela, par défaut, seules les tables réelles (et leurs données respectives) sont enregistrés et seront donc préparés pour une importation ultérieure à l'aide de ce fichier. Si vous avez besoin de la possibilité d'exporter (et de recréer plus tard) une base de données supplémentaire, lisez la section --databases drapeau dans la documentation officielle.

Importer dans MySQL

Maintenant que vous avez appris à exporter une sauvegarde d'une base de données MySQL, nous allons explorer comment inverser le processus et importer la sauvegarde dans une base de données existante.

Comme vous pouvez l'imaginer, pour compléter le mysqldump commande utilisée pour l'exportation, il existe un mysqlimport similaire commande d'importation.

Dans la plupart des cas, l'importation est juste une question de passage pratiquement identique options à mysqlimport commande. Pour importer nos books.sql sauvegardés fichier créé plus tôt, nous utiliserions plusieurs des mêmes drapeaux et à peu près la même syntaxe.

$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:

Comme précédemment, le -u et -p des drapeaux sont requis pour l'authentification, qui est ensuite suivi du nom de la database dans lequel importer (dans ce cas, nous utilisons une base de données de production différente), puis enfin en spécifiant le chemin complet vers le fichier de vidage SQL qui contient nos données d'importation, ~/backup/database/books.sql . Il convient également de noter que mysqlimport ne nécessite pas le < ou > (STDIN/STDOUT) symboles qui ont été utilisés avec mysqldump .

Avec cela, vous avez appris à la fois comment exporter/sauvegarder une base de données existante, et comment ensuite importer/restaurer ces données dans la même base de données ou même dans une autre.