Exportez et importez des données MySQL. Exportation de base de données, importation de base de données MySQL. Création de sauvegardes et extraction de données de la base de données MySQL à l'aide de requêtes

Les bases de données (ou DB en abrégé) de la plupart des sites ont une taille (poids) égale à plusieurs dizaines de Mo (mégaoctets). La taille initiale de la base de données au démarrage des différents projets dépend de la structure du site lui-même (CMS), mais ensuite leur poids augmente à chaque nouvelle entrée.

Les enregistrements peuvent être des informations d'enregistrement d'utilisateur, des commentaires, des messages personnels, des produits, des actualités et d'autres données stockées dans la base de données du site.

J'ai eu la chance de travailler avec plusieurs sites dont la taille des bases de données dépassait 500 Mo (mégaoctets), et sur certains atteignait même 2 Go (gigaoctets). Étant donné que les bases de données de cette taille sont difficiles à transférer par des méthodes standard (en raison des limites de l'hébergement et du navigateur), je partagerai avec vous plusieurs méthodes de travail qui vous aideront à résoudre de telles tâches (migration de grandes bases de données).

Exportation (téléchargement) de grandes bases de données MySQL via Sypex Dumper

Commençons donc par envisager de résoudre les tâches définies avec une option plus simple, à savoir avec une solution toute faite.

"Sypex Dumper" est un logiciel écrit en PHP qui vous permet de travailler avec des bases de données sans utiliser phpMyAdmin. Les avantages du "Sypex Dumper" comprennent :

  1. Multilingue (prend en charge plusieurs langues).
  2. Il existe une version gratuite du script (c'est largement suffisant pour nos tâches).
  3. Grande vitesse d'exécution des tâches.
  4. Travailler avec de grandes bases de données.
  5. Interface pratique et claire.
  6. Et bien d'autres "puces" intéressantes.

Nous les utiliserons pour télécharger (transférer) de grandes bases de données.

Pour exporter (obtenir, télécharger) la base de données de votre site spécifique pour son utilisation ultérieure, vous devez procéder comme suit.

1. gratuitement depuis notre site Internet.

2. sxd d'une manière qui vous convient.

3. Ensuite, allez à (Où votre_site.com Entrer».

4. Sur la page qui s'ouvre (avec autorisation réussie), cliquez 1 fois sur la rubrique " Exporter» dans le menu du haut. Si plusieurs bases de données sont à la disposition de l'utilisateur, sélectionnez celle que nous allons exporter (télécharger) dans la liste déroulante. Les paramètres restants peuvent rester inchangés et cliquer sur le bouton " Courir».


je veux noter que vous ne pouvez pas exporter l'intégralité de la base de données, mais seulement certaines de ses tables si nécessaire.

5. Une fois le processus de sauvegarde de la base de données terminé (vous pouvez le comprendre grâce à la barre de progression), vous pouvez télécharger la base de données dont vous avez besoin en cliquant sur le bouton approprié.


De plus, toutes les bases de données exportées seront stockées sur votre site en cours de route. /sxd/sauvegarde/. Si l'enregistrement de la base de données échoue, vérifiez que le dossier sauvegarde les autorisations d'écriture sont 777.

Ceci termine l'exportation (téléchargement) de la base de données.

Importation (chargement) de grandes bases de données MySQL via Sypex Dumper

Ci-dessus, nous avons discuté avec vous d'un moyen d'obtenir la base de données nécessaire, vous devez maintenant la transférer (importer) vers un autre projet, et pour cela nous procédons comme suit.

1. gratuitement depuis notre site Internet.

2. Décompressez l'archive et téléchargez le dossier sur le site sxd d'une manière qui vous convient.

3. Vers le dossier /sxd/sauvegarde/ charger la base de données précédemment obtenue (téléchargée).

4. Ensuite, allez à http://your_site.ru/sxd/index.php(Où votre_site.com– le domaine de votre site), après quoi un formulaire de saisie des données s'ouvrira devant vous. Dans celui-ci, vous spécifiez les données de l'utilisateur qui a les droits pour gérer la base de données dont vous avez besoin et cliquez sur " Entrer».

5. Sur la page qui s'ouvre (avec autorisation réussie), cliquez 1 fois sur la rubrique " Importer» dans le menu du haut. Si plusieurs bases de données sont disponibles pour l'utilisateur, sélectionnez celle dans laquelle nous importerons (chargerons) les données dans la liste déroulante. Les paramètres restants peuvent rester inchangés et cliquer sur le bouton " Courir».


je veux noter que vous pouvez importer non pas la base de données entière, mais seulement certaines de ses tables si nécessaire.

6. Une fois le processus d'importation (chargement) de la base de données terminé (vous pouvez le comprendre grâce à la barre de progression), la tâche peut être considérée comme terminée.


Exportation (téléchargement) de grandes bases de données MySQL via le terminal SSH

SSH est un protocole réseau qui vous permet de gérer à distance (via des commandes spéciales) un système ou un serveur. Sous Windows, il existe de nombreux programmes permettant de travailler avec ce protocole, dont le plus populaire est PuTTY.

Sur certains hébergements, comme par exemple, il y a un Terminal intégré directement dans le panneau de configuration. Nous n'irons pas loin et considérerons la tâche décrite dans le titre à l'aide de son exemple. Il est à noter que les opérations décrites ci-dessous peuvent également être effectuées dans un client SSH distinct.

1. Nous démarrons le Terminal. Là, ça ressemble à ça :


2. Si vous vous connectez au serveur via un programme tiers, connectez-vous en saisissant les données appropriées (vous pouvez les obtenir dans le panneau de contrôle d'hébergement ou auprès de votre fournisseur d'hébergement).

deuxième- Ce:

mysqldump -u NOM D'UTILISATEUR -p BASE DE DONNÉES > sauvegarde.sql

directement l'exportation elle-même, où :

NOM D'UTILISATEUR– login de l'utilisateur qui a accès à la base de données.

BASE DE DONNÉES– le nom de la base de données que nous souhaitons exporter.

sauvegarde.sql– le nom du fichier où sera enregistrée la base de données et le chemin relatif à . Avec cette conception, la base de données sera enregistrée à la racine de l'hébergement.

4. dans la troisième étapeEntrer" sur le clavier. note

Une fois que le serveur est à nouveau prêt à accepter les commandes via SSH, cela signifie que l'exportation de la base de données est terminée et que vous pouvez la télécharger via FTP ou via le gestionnaire de fichiers d'hébergement.

Le processus d'exportation (et d'importation) vers SSH n'est pas diffusé, et si votre base de données est assez volumineuse, soyez patient, car vous pouvez obtenir une réponse du serveur après plus de 20 minutes.

Importation (téléchargement) de grandes bases de données MySQL via le terminal SSH

Ce qu'est SSH, nous l'avons déjà découvert ci-dessus, et nous allons maintenant commencer à réfléchir à la manière d'importer une base de données précédemment téléchargée dans un autre projet.

1. à la racine de votre hébergement, téléchargez la base de données précédemment téléchargée d'une manière qui vous convient.

2. Connectez-vous à votre hébergement/serveur via SSH.

donc nous allons définitivement à la racine de l'hébergement, et deuxième- Ce:

Ainsi, nous obtenons une liste complète des fichiers et répertoires du répertoire courant. Nous cherchons à inclure notre base de données précédemment chargée.

4. Si tout va bien et que la base est en place, entrez la commande finale :

mysql -u NOM D'UTILISATEUR -p BASE DE DONNÉES< backup.sql

NOM D'UTILISATEUR– login de l'utilisateur qui a accès à la base de données.

BASE DE DONNÉES– le nom de la base de données dans laquelle nous importerons les données.

sauvegarde.sql- le nom du fichier à charger, et le chemin relatif à . Avec cette conception, la base de données sera importée depuis la racine d’hébergement.

5. Après avoir entré la commande, vous serez invité à entrer le mot de passe de l'utilisateur que vous avez spécifié dans la quatrième étape. Entrez votre mot de passe et cliquez sur " Entrer" sur le clavier. note que la saisie du mot de passe dans le terminal SSH n'est pas affichée, c'est-à-dire que vous saisissez le mot de passe ou le collez - il y aura toujours un espace vide à sa place.

Après cela, lorsque le serveur sera à nouveau prêt à accepter les commandes via SSH, cela signifiera que l'importation de la base de données est terminée et que vous pourrez continuer à travailler sur le projet.

Bonjour les amis, aujourd'hui nous allons apprendre comment faire. A quoi ça sert, vous pouvez poser une question. Tout d'abord exportation de base de données doit être fait périodiquement afin qu'en cas d'urgence, vous ne perdiez pas d'informations importantes pour vous. L'export sera un petit fichier qui stockera toutes les informations sur la base de données. Pour exportation de base de données vous devez aller sur PHPMyAdmin et cliquer sur la base de données qui vous intéresse. Après cela, vous verrez tous les tableaux qu'il contient et, sans y accéder, cliquez sur le bouton de menu appelé exporter. La page suivante apparaîtra devant vous :


Je vous conseille de choisir une méthode d'export rapide, et de préciser également au format SQL. Après cela, vous pouvez appuyer sur ok. Vous verrez une fenêtre vous demandant de sauvegarder le fichier.


Vous enregistrez le fichier à l'endroit dont vous avez besoin, l'essentiel est de vous rappeler où vous l'avez enregistré, car c'est très important pour nous.
Quant à la manière habituelle d’exporter. Vous pouvez également l'utiliser si vous en avez besoin, il existe de nombreux paramètres supplémentaires que vous pouvez définir lors de l'exportation. Par exemple, sélectionnez les tables nécessaires dans la base de données, spécifiez l'encodage et bien plus encore. Si ce paramètre vous intéresse, vous pouvez le voir. Mais nous n'entrerons pas dans ce cadre.
Après avoir enregistré le fichier sur votre ordinateur, je vous demanderai de supprimer la base de données. Comment faire cela, je ne vous l'expliquerai pas, car nous l'avons déjà vécu. N'ayez pas peur de supprimer, nous remettrons tout avec vous à sa place.
Il est temps de s'occuper importation de base de données. Allez dans le menu d'importation.


Nous sélectionnons l'aperçu de votre ordinateur et indiquons le chemin d'accès à notre fichier. Et appuyez sur ok. Comme vous pouvez le constater, vous avez une erreur. Ne vous inquiétez pas, le fait est que nous n'avons pas importé la base de données elle-même, mais seulement toutes ses tables. Par conséquent, créez d’abord une base de données, accédez-y et cliquez sur le bouton importer, après avoir effectué tout ce qui précède. En cliquant sur le bouton OK, vous réussirez et si vous avez tout fait correctement, aucune erreur ne devrait apparaître.


Comme vous pouvez le constater, notre tableau est réapparu à sa place et toutes les données qu'il contient ont été enregistrées. Maintenant vous comprenez quelle merveilleuse opportunité exportation et importation de base de données dans PHPMyAdmin. Après tout, si vous perdez en un jour tous vos développements depuis de nombreuses années, grâce à ce fichier vous pouvez tout restituer. Sur ce, je vous dis au revoir bientôt.

Bonne journée, chers collègues 🙂

Aujourd'hui, je vais continuer à vous présenter l'utilisation de MySQL dans la console MySQL et la ligne de commande MySQL.

J'ai déjà écrit des articles sur la façon d'effectuer des actions de base avec les données MySQL via la console et de faire une sauvegarde de la base de données MySQL, ainsi que d'exporter les informations qui y sont stockées.

La suite logique de cette histoire sera la restauration de la base de données et des informations qui y sont stockées à l'aide des opérations d'importation de la base de données MySQL. Et, plus important encore, nous continuerons à le faire avec l'outil de tous les développeurs sérieux - via la console.

Si vous avez besoin d'instructions pour importer une base de données via phpMyAdmin, vous pouvez les trouver dans l'article sur. Dans l'article actuel, je n'ai pas envie de le décrire à nouveau, d'autant plus que le matériel d'aujourd'hui sera consacré exclusivement à l'importation de la base de données MySQL via la console.

Mais, avant de commencer à passer en revue les méthodes et les outils, quelques mots sur ce qu'est l'importation de base de données MySQL, à quoi ça ressemble et quelle est la meilleure façon de le faire ?

Importer une base de données MySQL : quoi et pourquoi ?

L'importation d'une base de données MySQL est une opération qui remplit la base de données avec des informations. Dans ce cas, la source de données est un fichier de vidage - un instantané d'une autre base de données, créé automatiquement lors de l'opération d'exportation, ou un script SQL spécialement préparé.

Lors de l'importation, ainsi que de l'exportation de la base de données MySQL, deux types d'informations sont stockées dans la base de données :

  1. la structure de la base de données, ses tables et les données qui y sont stockées (familièrement appelées dump de base de données) ;
  2. juste des données stockées dans une table ou collectées à l'aide SÉLECTIONNER demandes.

Cet article couvrira les deux options.

Pour restaurer une base de données à partir d'un dump MySQL avec sa structure et toutes les informations stockées, comme déjà mentionné, vous avez besoin d'un fichier de dump de base de données, qui est un fichier texte avec n'importe quelle extension (il peut d'abord être emballé dans une archive pour réduire la taille), contenant des commandes SQL pour créer la base de données elle-même et les tables, ainsi que pour les remplir d'informations.

Par conséquent, afin de restaurer une base de données MySQL à partir d'un dump, vous devez exécuter les commandes contenues dans le fichier.

Pour une récupération normale des données, de telles complexités ne sont pas nécessaires. Il suffit de disposer d'un fichier de test dont les informations seront structurées de la même manière que dans la table de la base de données : le nombre de colonnes contenant des informations correspond au nombre d'attributs d'entrée de la table.

A ces fins, un fichier txt classique convient également, dans lequel les données seront séparées, ou des fichiers créés dans des éditeurs de feuilles de calcul spéciaux (Microsoft Office Excel, OpenOffice, etc.) avec une extension différente : xls, csv, odt, etc.

Ces formats sont même préférables, car. lors de leur création, les délimiteurs de données sont ajoutés automatiquement par les éditeurs, et il n'est pas nécessaire de les saisir séparément, comme dans le cas d'un fichier texte ordinaire.

Ajouter des données à MySQL : outils

Concernant les outils d’import de bases de données MySQL, je peux dire qu’il y en a trois aujourd’hui.

Je vais les lister, en commençant par le niveau le plus bas, en terminant par le niveau le plus élevé (en termes d'utilisation de toutes sortes de shells et de modules complémentaires) :

  1. Console serveur et ligne de commande MySQL ;
  2. Scripts écrits dans des langages de programmation qui vous permettent d'écrire des données sur MySQL à l'aide d'outils linguistiques ;
  3. Programmes prêts à l'emploi qui fournissent une interface visuelle pour travailler avec la base de données (le même phpMyAdmin, MySQL WorkBench, MySQL Manager, etc.).

Je pense que l'ordre des instruments ne posera aucune question, car. En règle générale, les outils de langage de programmation fonctionnent sur la base des commandes de la console MySQL et les programmes sont basés sur des scripts ou fonctionnent directement avec la ligne de commande MySQL.

D'une manière ou d'une autre, la console est à la tête de tout, et le reste des outils, en fait, sont ses émulateurs.

Par conséquent, l'utilisation de la console lors de l'importation de données dans MySQL vous permet de contourner divers types de restrictions définies par les paramètres des langages de programmation sur le serveur Web et les programmes eux-mêmes (qui, soit dit en passant, ne peuvent pas toujours être modifiés).

De ce fait, le remplissage de la base de données MySQL via la console peut non seulement être plus rapide, mais aussi rendre cette opération possible en principe, car les scripts et les programmes ont tendance à abandonner les importations lorsque la durée maximale d'exécution du script est atteinte, ou à ne pas démarrer du tout en raison de la taille du fichier téléchargé.

Je pense que tous ceux qui ont déjà essayé de télécharger un dump vers une grande base de données MySQL à l'aide de phpMyAdmin comprennent de quoi je parle.

Souvent, ces limites sont à l'origine d'erreurs lors de l'importation d'une base de données MySQL, que vous ne verrez jamais lors de l'utilisation de la console.

Bien sûr, ils ne sont pas constants et peuvent être modifiés, mais il s'agit d'un casse-tête supplémentaire qui, d'ailleurs, peut s'avérer insoluble pour les utilisateurs ordinaires.

J'espère vous avoir motivé à importer la base de données MySQL via la console (d'ailleurs, à la fois sa structure et ses données séparées).

Et sur cette note positive, passons à la pratique tant attendue et considérons les méthodes et commandes de transfert de données vers la base de données sur la console.

Comment restaurer une base de données MySQL à partir d'un dump à l'aide de la console ?

Ainsi, afin de déployer un dump MySQL depuis la console, il existe deux manières :

  1. en utilisant une commande sur la ligne de commande MySQL ;
  2. dans la console du serveur elle-même.

Commençons dans l'ordre.

Ainsi, afin d'importer un dump de base de données MySQL dans un référentiel existant via , nous devons d'abord l'exécuter et sélectionner la base de données souhaitée dans laquelle nous allons télécharger notre dump.

La mise en œuvre de ces actions est décrite en détail dans l'article sur le lien ci-dessus, donc si vous avez besoin de leur description, partez de là, car. Je ne veux pas les reproduire au deuxième tour.

Après avoir effectué ce qui précède, entrez la commande suivante dans MySQL Shell :

Chemin source_et_nom_fichier_dump ;

Il ne nous reste plus qu'à étudier les messages de la console sur l'avancement des opérations contenues dans le dump.

Sans basculer au préalable vers la base de données souhaitée, après connexion au serveur MySQL dans la console, le dump peut être importé avec la commande suivante :

Mysql -u nom d'utilisateur -p nom_base de données< путь_и_имя_файла_дампа

C'est tout. L'essentiel est d'attendre la fin de l'importation si le fichier est très volumineux. L'achèvement du vidage peut être jugé par le moment où la console du serveur sera à nouveau disponible.

À proprement parler, c'est l'inconvénient de cette méthode par rapport à la précédente, tk. dans le premier, il est possible d'observer les opérations effectuées sur la base de données lors de l'import, alors que dans le second, ce n'est pas le cas.

Si le fichier de vidage est compressé dans une archive, lors du téléchargement, vous devrez le décompresser en cours de route.

Sous Linux, cela peut être fait comme ceci :

Gunzip > [archive_filename.sql.gz] | mysql -u -p

Sous Windows, il n'existe pas d'utilitaire standard pour décompresser l'archive dans la console, elle devra donc être installée en plus.

Comme vous pouvez le constater, importer un dump MySQL via la console est une opération très simple qui peut être effectuée avec une seule commande. Vous n'avez donc pas besoin d'être développeur pour effectuer cette procédure.

Si du coup vous ne savez pas comment démarrer la console du serveur, alors vous pouvez trouver ces informations dans l'article sur la ligne de commande MySQL, dont j'avais déjà le lien plus tôt.

D'ailleurs, en utilisant les méthodes décrites, il est également possible d'importer une table MySQL, et non une base de données entière. Dans ce cas, le dump que vous téléchargez doit contenir les opérations de création et de remplissage de données.

Chargement de données dans la base de données MySQL à partir d'un fichier dans la console

Nous avons parlé de restaurer une base de données MySQL à partir d'un dump dans la console. Il est maintenant temps de comprendre comment importer des données à partir de fichiers de la même manière, y compris depuis des fichiers xls et csv vers une base de données MySQL.

Pour cette tâche, nous disposons à nouveau des deux mêmes outils que dans le cas précédent : la ligne de commande MySQL et la console du serveur.

Reprenons l'examen dans l'ordre.

Ainsi, pour importer un fichier en ligne de commande MySQL, nous l'exécutons à nouveau et allons dans la base de données dans laquelle les données seront chargées.

CHARGEZ LE FICHIER DE DONNÉES "path_and_dump_file_name" DANS LES COLONNES DE LA TABLE `database_table` TERMINÉES PAR "," ENCOURUES PAR "\"" LIGNES TERMINÉES PAR "\n" ;

N'oubliez pas que si le serveur MySQL a été démarré avec l'option --secure-file-priv(ce qui arrive souvent lors de l'utilisation des distributions MySQL incluses dans les builds WAMP/MAMP), alors le nom du fichier doit être spécifié en tenant compte de la variable système secure_file_priv.

Afin d'importer la base de données MySQL dans la console du serveur sans passer par le Shell MySQL, nous avons besoin de l'utilitaire mysqlimport, qui fait partie de la distribution MySQL, et l'appel suivant :

mysqlimport -u nom d'utilisateur -p nom_base de données nom_et_chemin_vers_fichier_import

Cet utilitaire est un analogue de la commande SQL CHARGEMENT DU FICHIER DE DONNÉES, ligne de commande uniquement. Mais on se demande pourquoi, alors, parmi les paramètres de son appel, la table dans laquelle les données du fichier seront chargées n'est pas précisée ?

Le fait est que mysqlimport n'a tout simplement pas physiquement ce paramètre. Au lieu de cela, le nom de la table dans laquelle les données seront chargées doit être présent dans le nom du fichier importé.

Ceux. si vous souhaitez importer d'une table Excel vers une table MySQL utilisateurs, alors votre fichier doit être nommé utilisateurs.xls.

L'extension du fichier importé, comme déjà mentionné, peut être n'importe laquelle.

Avec mysqlimport, il est également possible de télécharger plusieurs fichiers xls ou csv vers MySQL à la fois. Pour que les données arrivent à destination, les noms des fichiers et des tables de la base de données, comme dans l'exemple précédent, doivent également correspondre.

Si soudainement les colonnes du fichier importé ne sont pas dans le même ordre que les colonnes de la table de la base de données, alors pour clarifier leur ordre, vous devez utiliser l'option --columns sous la forme suivante :

Mysqlimport -u nom d'utilisateur -p nom_base de données --columns colonne1, colonne2, ... nom_fichier_import et chemin_

Naturellement, dans mes exemples, je n'ai pas pris en compte la liste complète des paramètres de mysqlimport, car certains d’entre eux sont très spécifiques et rarement utilisés en pratique.

Si vous souhaitez vous familiariser avec eux, leur liste complète est disponible ici - https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

Fonctionnalités de chargement de données dans la base de données MySQL à partir d'un dump

Si vous souhaitez que le processus d'importation d'une grande base de données MySQL soit plus rapide, vous devez alors créer un vidage de base de données à l'aide des options spéciales de la commande mysqldump, dont j'ai parlé dans mon article précédent sur l'exportation d'une base de données MySQL, un lien vers lequel a été placé plus tôt dans le texte.

Malheureusement, les commandes d'importation de base de données MySQL elles-mêmes ne disposent pas de telles options.

La seule chose à faire est d'augmenter la vitesse lors du chargement d'un gros dump de base de données, vous pouvez utiliser la fonctionnalité suivante.

1. Ouvrez le fichier dump (de préférence dans les gestionnaires de fichiers, car les éditeurs ordinaires peuvent simplement mourir à cause de fichiers volumineux).

2. On écrit les lignes suivantes au début du fichier :

SET Foreign_key_checks = 0 ; FIXER UNIQUE_CHECKS = 0 ; FIXER AUTOCOMMIT = 0 ;

Note! Peut-être qu'ils sont déjà là ou commentés (de nombreux programmes qui font des dumps peuvent les ajouter automatiquement)

3. A la fin du fichier, écrivez les actions inverses :

SET Foreign_key_checks = 1 ; FIXER UNIQUE_CHECKS = 1 ; DÉFINIR AUTOCOMMIT = 1 ;

À propos, ces commandes contribueront non seulement à accélérer le processus d'importation, mais le rendront également possible.

Le fait est que si vous avez déjà examiné le fichier de dump pour importer une base de données MySQL, vous avez peut-être remarqué que l'opération de définition de la structure des tables chargées ressemble à ceci :

DROP TABLE SI EXISTE `clients` ; CREATE TABLE `clients` (...) ;

Ceux. une recherche est effectuée dans la base de données pour une table portant le même nom que celle importée, et si elle est trouvée, elle est supprimée et recréée.

Et si soudainement une table existante est connectée par des clés étrangères à d'autres, alors tout le chargement échouera.

Par conséquent, désactiver la vérification de l'existence de clés étrangères et autres est également une excellente garantie de la réussite du processus d'importation de la base de données MySQL.

Fonctionnalités d'importation de fichiers CSV dans la base de données MySQL et d'autres fichiers

Lors du chargement de données dans une base de données MySQL à partir de fichiers texte, il peut également être nécessaire de désactiver les clés étrangères.

De plus, contrairement à la situation précédente, dans ce cas, il ne sera pas possible d'écrire des directives dans le fichier, car Les commandes SQL qu'il contient ne seront ni acceptées ni exécutées.

Dans un article précédent sur l'exportation d'une base de données MySQL, j'ai déjà expliqué comment procéder en utilisant l'opération suivante sur la ligne de commande MySQL :

DÉFINIR FOREIGN_KEY_CHECKS=0 ;

Cependant, je n'y ai pas mentionné que la variable système MySQL FOREIGN_KEY_CHECKS a deux significations : global et session (pour la session en cours).

La valeur globale des variables MySQL est en vigueur pour toute action entreprise sur le serveur MySQL, jusqu'au redémarrage du serveur inclus. Ensuite, les valeurs des variables seront réinitialisées et les valeurs par défaut leur seront attribuées.

La valeur de session de la variable système MySQL est définie uniquement pour la durée de la session de l'utilisateur avec le serveur MySQL. Une session ou une session commence lorsque le client se connecte au serveur, auquel il se voit attribuer un identifiant unique. identifiant de connexion, et se termine lors de la déconnexion du serveur, ce qui peut survenir à tout moment (par exemple, par dépassement de délai).

Pourquoi ai-je décidé de m’en souvenir ?

Parce que lors de l'exécution de commandes pour charger un fichier dans une base de données MySQL via la console du serveur, sans entrer dans le shell MySQL, j'ai constaté que la désactivation de la vérification des clés étrangères de la manière décrite précédemment ne fonctionnait pas.

La console affichait toujours un message d'erreur provoqué par la présence de clés étrangères dans la table.

Et cela est dû au fait que la commande ci-dessus a désactivé la vérification de l'existence de clés étrangères au sein de la session, et non globalement, qui, en plus de la méthode spécifiée, peut également être effectuée comme suit :

SET SESSION nom_variable = valeur_variable ; SET @@session.variable_name = variable_value; SET @@nom_variable = valeur_variable ;

Dans les commandes ci-dessus, la variable est explicitement marquée comme variable de session.

Et, comme j'ai chargé le fichier csv dans la table MySQL via la console du serveur, sans connexion directe au serveur MySQL, la session dans laquelle ma valeur de session de la variable fonctionnerait n'a pas été créée.

J'ai fini par définir la valeur globale FOREIGN_KEY_CHECKS et l'importation a réussi.

Vous pouvez le faire de l'une des manières suivantes :

SET GLOBAL nom_variable = valeur_variable ; SET @@global.variable_name = variable_value;

Après avoir modifié les valeurs, pour vérifier que les modifications ont pris effet, il n'est pas superflu de revoir les valeurs de la variable. Pour afficher la session et les valeurs globales en même temps, utilisez la commande suivante :

SELECT @@GLOBAL.foreign_key_checks, @@SESSION.foreign_key_checks ;

Ceci conclut l'article d'aujourd'hui sur l'importation d'une base de données MySQL. Partagez vos impressions et votre propre expérience dans les commentaires. Je pense que beaucoup seront intéressés par votre expérience.

À bientôt! 🙂

P.S.: si vous avez besoin d'un site Web ou si vous devez apporter des modifications à un site existant, mais que vous n'avez ni le temps ni l'envie pour cela, je peux vous proposer mes services.

Plus de 5 ans d'expérience développement de sites Web professionnels. Travailler avec PHP, panier ouvert,

Salutations, amis ! 🙂

Aujourd'hui, j'ai décidé de continuer à parler de travailler avec MySQL dans la console et de faire attention à la procédure d'exportation d'une base de données MySQL.

Dans cet article, je parlerai de la façon de vider la base de données MySQL, ainsi que de télécharger des données de MySQL vers un fichier Excel et au format csv.

Nous examinerons différentes options pour extraire des informations à partir de : créer un dump d'une ou plusieurs bases de données, exporter les données de tables distinctes et les résultats de recherches arbitraires. SÉLECTIONNER demandes.

Et parlons également de la façon d'afficher les données de la base de données MySQL dans la console du serveur et dans la ligne de commande MySQL.

Dans cet article, je ne parlerai pas de la façon d'exporter des données à l'aide de phpMyAdmin et d'autres outils visuels.

Premièrement, parce qu'il existe déjà suffisamment de matériel sur le réseau sur ce sujet. De plus, du matériel de grande qualité, que je ne brûle pas d'envie de copier-coller.

Et, deuxièmement, j'ai moi-même brièvement examiné le processus de sortie d'informations d'une base de données MySQL vers un fichier SQL dans l'un de mes articles, dont j'ai parlé.

Ainsi, si vous n'êtes pas un développeur professionnel ou un administrateur système susceptible de trouver des informations utiles sur l'utilisation de la console et que vous êtes uniquement venu chercher des instructions sur l'exportation de la base de données vers phpMyAdmin, vous pouvez vous limiter à lire les informations à partir du lien ci-dessus.

Je veux que vous me compreniez bien : je ne veux en aucun cas vous offenser, mais je veux juste que vous passiez votre temps avec le maximum d'avantages pour la cause et obteniez ce que vous cherchiez.

Ceci conclut la partie introductive et passons à un aperçu des commandes de la console pour créer un dump de la base de données MySQL, que j'ai décidé de trier selon la quantité de données stockées : de l'exportation de la base de données entière vers des tables individuelles et des résultats de requêtes arbitraires .

Création d'un dump d'une base de données MySQL via la console

Je souhaite apporter une petite précision au tout début.

Vidage de base est un fichier contenant un ensemble de commandes SQL qui, une fois lancées, vous permettent de créer des bases de données et des tables, ainsi que de les remplir d'informations. Un dump est nécessaire pour ceux qui souhaitent télécharger une base de données MySQL afin de la copier sur un autre serveur ou dans un serveur existant.

De plus, si quelqu'un n'est pas au courant, une sauvegarde de base de données MySQL est, en fait, son dump effectué dans un certain laps de temps, ce qui vous permet de restaurer la structure et les données de la base de données si nécessaire.

Exportation de données- il s'agit simplement d'extraire des informations de tableaux sous forme de texte pour un travail ultérieur avec des éditeurs de texte ou graphiques.

Par conséquent, les commandes pour ces actions seront légèrement différentes.

Pour créer un dump de base de données, MySQL dispose d'un utilitaire intégré appelé mysqldump, à utiliser en dehors de la ligne de commande MySQL dans la console du serveur ou dans un autre shell.

Ainsi, pour l'option la plus simple et la plus courante - exporter des données d'une base de données spécifique dans la console MySQL pour les transférer vers un autre serveur ou une copie interne, vous devez exécuter la commande suivante :

mysqldump -u nom d'utilisateur -p nom_base de données > chemin_et_nom_fichier_dump

Cet utilitaire peut créer des dumps de base de données MySQL uniquement sous forme de fichiers avec des commandes SQL, donc quelle que soit l'extension que vous choisissez pour votre fichier, dans tous les cas, son contenu sera le même. Et n'oubliez pas de vérifier les autorisations en écriture du répertoire dans lequel il se trouvera avant d'exporter les informations depuis MySQL, afin que la création du fichier soit possible.

Si soudainement vous devez vider toutes les bases de données sur le serveur, utilisez l'option de commande suivante :

mysqldump -u nom d'utilisateur -p --all-databases > path_and_dump_file_name

Pour vider seulement quelques bases de données spécifiques, vous devez appeler mysqldump avec les options suivantes :

mysqldump -u nom d'utilisateur -p --databases nom_base de données1, nom_base de données2, ... > chemin_et_nom_fichier_dump

En conséquence, dans chaque cas, vous recevrez un dump de la base de données MySQL contenant des commandes permettant de créer la structure des tables contenues (champs, leurs types, index, clés, etc.), ainsi que des opérations pour les remplir de données.

Cette option ne convient que pour restaurer et copier des bases de données entières.

Comment faire des sauvegardes de certaines tables MySQL et obtenir leurs données sous une forme lisible sera discuté plus en détail.

Vider une table MySQL et exporter des données

Pour créer un dump de certaines tables de la base de données MySQL, nous avons besoin du même utilitaire mysqldump, appelé avec les paramètres suivants :

mysqldump -u nom d'utilisateur -p nom_base de données nom_table1, nom_table2, ... > chemin_et_nom_fichier_dump

Même lors de l'appel de mysqldump, vous pouvez spécifier les tables requises comme valeur de paramètre --les tables, lors de l'utilisation du paramètre --bases de données sera ignoré :

mysqldump -u nom d'utilisateur -p --databases nom_base de données1, nom_base de données2 --tables nom_table1, nom_table2, ... > chemin_et_nom_fichier_dump

L'exemple ci-dessus affichera l'erreur suivante :

Mysqldump : erreur obtenue : 1049 : base de données inconnue "nom_base de données1", lors de la sélection de la base de données

Comme vous pouvez le constater, seule la dernière base de données de la liste de celles spécifiées sera utilisée. En principe, ce comportement est tout à fait logique, car. toutes les bases de données peuvent ne pas contenir les tables spécifiées.

D'accord, nous avons un dump des tables de la base de données MySQL. Il peut être utilisé pour les restaurer ou les copier avec la structure.

Mais que se passe-t-il si vous avez simplement besoin d'obtenir les informations qui y sont stockées et, de préférence, sous une forme lisible, afin de pouvoir les envoyer au responsable et les visualiser dans un éditeur de texte ou de feuille de calcul classique ? MySQL dispose également des outils pour cela.

La possibilité d'appeler le service public nous aidera à atteindre nos objectifs. mysql depuis la console avec certains paramètres :

Mysql -u nom d'utilisateur -p nom_base de données -e "SELECT * FROM nom_table"

Cette commande nous permettra d'exécuter une requête sur la base de données requise et d'afficher le résultat sur la console sans passer par la ligne de commande MySQL.

Eh bien, afin de ne pas afficher de données sur la console, mais de les écrire dans un fichier, vous devez compléter la commande comme suit :

Mysql -u nom d'utilisateur -p -e "SELECT * FROM nom de table" > chemin_et_nom de fichier

Grâce à ces constructions, nous pouvons non seulement récupérer les données stockées dans tous les champs de la table, mais aussi dans des champs spécifiques. Pour ce faire, au lieu du caractère générique (*), il suffit d'enregistrer ceux requis séparés par une virgule.

En conséquence, nous obtiendrons en sortie un fichier texte normal, qui contiendra les noms des champs sous forme d'en-tête et des informations les concernant pour tous les enregistrements. Il peut être ouvert dans un éditeur de texte classique, quelle que soit la résolution que vous lui donnez lors de sa création.

Si vous souhaitez exporter des données de la base de données MySQL au format xls ou csv afin que le fichier résultant s'affiche correctement dans les éditeurs de feuilles de calcul, la façon de procéder sera discutée un peu plus tard 🙂

Création de sauvegardes et extraction de données de la base de données MySQL à l'aide de requêtes

Nous avons expliqué comment vider une base de données MySQL - une et plusieurs, ainsi que leurs tables individuelles. Mais parfois, dans la pratique, il existe des cas où vous devez exporter un ensemble de données qui ne se limite pas à une seule table. Ou vous devez sélectionner uniquement certaines données du tableau.

Les développeurs de projets d'entreprise y sont particulièrement souvent confrontés lorsque les managers leur demandent de fournir toutes sortes de données statistiques. Ou lorsque vous devez faire une sauvegarde d'une certaine partie de la table pour sa restauration rapide.

Pour la sauvegarde, nous avons besoin du même utilitaire mysqldump, qui devrait s'appeler ainsi :

Mysqldump -u nom d'utilisateur -p nom de base de données nom_table --où "recherche" > chemin_et_nom_fichier_dump

En conséquence, nous obtiendrons un fichier avec des commandes SQL pour créer une table avec toute sa structure, qui, après création, sera remplie d'informations sélectionnées à l'aide d'une requête de recherche.

Si nous avons juste besoin de récupérer les données stockées dans une ou plusieurs tables, alors nous devons modifier la commande utilisée dans le cas précédent pour sélectionner toutes les données d'une table, avec seulement quelques précisions :

Mysql -u nom d'utilisateur -p -e "SELECT * FROM tablename WHERE lookup" > chemin_et_nom_fichier

Comme vous l'avez compris, outre diverses précisions précisées dans la demande utilisant la directive , vous pouvez utiliser d'autres constructions SQL : REJOINDRE, SYNDICAT etc.

Toutes les statistiques peuvent être collectées 🙂

La même action peut également être effectuée depuis la ligne de commande MySQL avec la commande suivante :

SELECT * FROM table_base de données WHERE recherche INTO OUTFILE "chemin_et_nom_fichier" ;

Cette commande est simplement conçue pour créer des fichiers avec les résultats de la sélection. De plus, les résultats peuvent non seulement être exportés vers des fichiers, mais également écrits dans des variables, et les données de sortie peuvent être formatées de différentes manières.

Si tel est votre cas, vous pouvez trouver la liste complète des paramètres et des options pour appeler cette commande ici - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

À la fin de ma brève présentation de mysqldump, je souhaite donner la possibilité d'appeler une commande avec une liste de paramètres pour créer un vidage optimisé de la base de données et des tables MySQL, en restaurant la base de données et les tables individuelles, ce qui prendra moins de temps que avec un appel normal :

mysqldump -u nom d'utilisateur -h hôte_serveur_mysql_ou_IP -p --no-autocommit --opt nom_base de données > chemin_et_nom_fichier_dump ;

Par souci d'expérimentation, j'ai utilisé cette option pour vider une base de données MySQL de 143 Mo. La restauration ultérieure a pris 59 secondes contre 1 minute et 3 secondes lorsque la base de données a été restaurée à partir d'un dump effectué en appelant mysqldump sans options spéciales.

Je suis d'accord que c'est une bagatelle. Mais cela ne concerne qu’une quantité donnée de données. Si vous utilisez cette technique lors de la création d'un dump de plus de 1 Go, la différence sera alors plus significative.

Si vous rencontrez une telle situation, n'oubliez pas de d'abord emballer le dump de la base de données MySQL dans une archive. tar.gz est le meilleur. La récupération prendra alors encore moins de temps.

Exporter des données de MySQL vers des fichiers Excel et CSV

Ce n'est pas en vain que j'ai combiné les informations sur la sortie des informations de MySQL dans ces deux formats en un seul bloc, car elles sont très similaires, elles s'utilisent à peu près de la même manière (pour structurer des informations sous forme de tableaux) et les mêmes commandes seront appelées pour l'export.

Comme vous le savez, la seule différence significative entre ces formats est que les extensions xls et xlsx ont des fichiers créés dans Microsoft Office Excel, qui ne fonctionne que sous Windows, tandis que les fichiers csv sont plus universels et les opérations avec eux sont possibles dans de nombreux éditeurs.

Cela ne signifie pas que xls ne s'ouvrira nulle part sauf dans Microsoft Office Excel. Le même OpenOffice confirme le contraire.

Mais pour cette possibilité, ce support doit être présent dans le produit logiciel. les fichiers csv sont lisibles même dans un éditeur de texte ordinaire tel que le Bloc-notes, seul ce formulaire ne sera pas entièrement lisible.

Pour commencer, vous ne pouvez exporter les résultats des requêtes SQL qu'au format xls ou csv, avec lesquels nous avons appris à travailler plus tôt, car. il ne sera pas possible d'afficher l'intégralité de la base de données dans un seul fichier en une seule opération.

Premièrement, ce n’est pas optimal, car Il est peu probable qu'un tel fichier s'ouvre avec de grandes quantités d'informations stockées dans la base de données. Et, deuxièmement, il n'est pas clair comment diviser les informations en tables et en champs à l'intérieur du fichier.

Non, il est bien sûr possible de le faire, mais il est peu probable qu'une seule commande le fasse, et en général, il est peu probable que quiconque le fasse dans la console. Je pense qu'à ces fins, vous aurez besoin d'un logiciel spécial, ou au moins d'un script.

Si vous savez soudainement comment exporter des informations de l'intégralité de la base de données MySQL vers un ou plusieurs fichiers xls dans la console à la fois, écrivez-le dans les commentaires. Je pense que lire à ce sujet sera utile à beaucoup.

Donc, si nous parlons de la façon d'exporter des données de MySQL vers xls et csv, vous pouvez le faire directement dans la console du serveur via l'utilitaire mysql ou dans, l'œuvre avec laquelle je vous ai présenté dans mon article précédent.

Commençons dans l'ordre.

Vous pouvez exporter les données de la base de données MySQL aux formats csv et xls directement dans la console du serveur à l'aide des commandes suivantes.

Sur Linux systèmes :

Mysql -u nom d'utilisateur -d nom de base de données -p -e "SELECT * FROM dbtable;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > chemin_et_nom_fichier. CSV

En principe, si cela est absolument nécessaire, vous pouvez utiliser cette commande pour exporter des données MySQL vers un fichier Excel. Mais, pour être honnête, je n'ai pas traité des données dans la pratique, et ce qui en ressortira à la fin - aucune idée, car. Je travaille maintenant sous Windows. Si vous utilisez cette commande sous Linux, veuillez écrire dans les commentaires les résultats de votre travail. Je pense que l'information intéressera tout le monde.

Sur les fenêtres:

L'exportation de données des tables MySQL vers CSV avec la commande ci-dessus ne réussira malheureusement pas dans ce cas, car Windows, contrairement à Linux, ne dispose pas de commande de console intégrée pour travailler avec des flux, qui est sed sous Linux.

Bien sûr, vous pouvez l'installer, mais c'est trop compliqué. Alternativement, vous pouvez également utiliser CygWin est un émulateur de console Linux pour les systèmes Windows.

Eh bien, si vous l'avez déjà installé. Sinon, exporter les données de la base de données MySQL de la manière choisie nous posera trop de problèmes.

Mais extraire des informations dans un fichier xls est aussi simple que 5 kopecks 🙂 Il est très simple de l'exécuter de la manière suivante, que j'ai personnellement essayée :

Mysql -u nom d'utilisateur -d nom de base de données -p -e "SELECT * FROM dbtable;" > chemin_et_nom_fichier.xls

Ce fichier s'est ouvert dans Microsoft Office Excel sans aucun problème. La seule chose est que lors de l'ouverture, un message d'avertissement s'affichait indiquant que le format réel du fichier ouvert diffère de l'extension spécifiée.

Mais lors de la confirmation de l'action, le document s'est ouvert sans difficulté - toutes les informations ont été divisées en cellules sous la forme dans laquelle elles étaient stockées dans le tableau lui-même.

Je ne sais pas, peut-être que lors de l'exécution d'actions spécifiques dans Microsoft Office Excel, des problèmes surviendront à l'avenir, je n'ai pas creusé si profondément. Du moins, du point de vue habituel des données, je n’ai rien rencontré d’inhabituel.

Si vous rencontrez des problèmes lors de l'utilisation du fichier xls exporté depuis MySQL, que ce soit dans ce programme ou dans d'autres, veuillez me le faire savoir dans les commentaires.

De la manière décrite ci-dessus, vous pouvez en principe exporter le contenu de la base de données MySQL vers un fichier csv. Mais alors les données des différents champs du tableau seront écrites en masse, sans séparateurs, ce qui peut être mal affiché dans divers programmes permettant de travailler avec des tableaux, dans lesquels ils travaillent généralement avec des fichiers csv.

Au fait, OpenOffice s'en fiche 🙂 Il a automatiquement délimité les informations obtenues par la manière dont nous avons exporté le contenu de la base de données MySQL vers xls. Je ne sais pas comment il fait - mais je recommande de l'utiliser 🙂

Eh bien, le même Microsoft Office Excel affichait toutes les informations correspondant à un enregistrement du tableau, en les écrivant dans une cellule sans aucun séparateur. Je pense que d'autres éditeurs de feuilles de calcul feront de même.

Par conséquent, lors de l'exportation d'une base de données MySQL vers des fichiers CSV, vous devez le faire en séparant les informations par des caractères spéciaux acceptés par les éditeurs.

Et ici, j'ai abordé en douceur la deuxième façon d'exporter des données MySQL vers csv et xls, qui consiste à utiliser la ligne de commande MySQL.

Ainsi, pour exporter les données MySQL vers un fichier csv de cette manière, nous avons besoin de la commande suivante :

SELECT * FROM table_base de données INTO OUTFILE "chemin_et_nom_fichier.csv" CHAMPS TERMINÉS PAR "," ENCLOS PAR """ LIGNES TERMINÉES PAR "\n" ;

À la suite de son exécution, vous recevrez un fichier csv le long du chemin que vous avez spécifié lors de son appel, qui s'ouvrira correctement dans la plupart des éditeurs de feuilles de calcul modernes. Juste au cas où, je vous rappelle que vous ne devez exécuter cette commande qu'après vous être connecté à la base de données MySQL.

Cette commande est également idéale pour exporter des données MySQL vers un fichier xls pour un affichage correct dans Microsoft Office Excel. Seulement dans ce cas, nous n'avons pas besoin de séparateurs, car ils vont interférer avec la décomposition des informations en cellules :

SELECT * FROM table_base de données INTO OUTFILE "chemin_et_nom_fichier.xls" ;

Cependant, dans la pratique, tout n’est pas aussi simple que je l’ai décrit. Lors de l'exécution de la commande, vous pouvez rencontrer l'erreur suivante dans la console qui empêche l'exportation de se terminer :

ERREUR 1290 (HY000) : Le serveur MySQL s'exécute avec l'option --secure-file-priv et ne peut donc pas exécuter cette instruction

Cela est dû au fait que votre serveur MySQL a été démarré avec l'option --secure-file-priv. Personnellement, j'ai rencontré ce problème car pour travailler dans la console, j'utilise le kit de distribution MySQL inclus dans le kit WAMP OpenServer, qui, à son tour, démarre le serveur MySQL de cette manière.

Il existe deux manières de résoudre le problème ici :

  • Modifier les options de démarrage du serveur MySQL
  • Changer le chemin vers le fichier d'exportation MySQL de destination

La première méthode me paraissait trop compliquée, car. Je devrais fouiller dans la configuration d'OpenServer, qui n'a pas été écrite par moi avec toutes les circonstances qui en ont résulté 🙂 J'ai donc décidé d'emprunter la deuxième voie. Si vous rencontrez un problème similaire, répétez après moi.

Vous devez d’abord accéder à la ligne de commande MySQL et exécuter l’une des commandes suivantes :

AFFICHER LES VARIABLES COMME "secure_file_priv" ; SELECT @@GLOBAL.secure_file_priv ;

Le résultat de l'exécution des deux sera la valeur de la variable globale MySQL secure_file_priv, qui contient le chemin d'accès au répertoire à travers lequel les opérations d'exportation et d'importation de données MySQL peuvent être effectuées (à l'avenir, un lien vers l'article sur l'importation de données).

Ceux. lors de l'utilisation de commandes CHARGER LES DONNÉES Et SÉLECTIONNER… DANS OUTFILE les fichiers exportés et importés ne peuvent être situés que dans ce répertoire.

Dans mon cas, cette variable avait une valeur définie NUL, parce que Comme je l'ai déjà dit, j'utilise les utilitaires MySQL de la distribution incluse dans OpenServer pour travailler dans la console. Cette valeur indiquait que les opérations d'exportation et d'importation de données MySQL utilisant les commandes spécifiées étaient complètement fermées.

Comme il s'est avéré plus tard, il s'agit d'une situation courante dans le cas de l'utilisation de serveurs WAMP et MAMP en boîte.

Malheureusement, il n'a pas été possible d'utiliser les méthodes habituelles pour modifier les valeurs des variables globales MySQL dans mon cas :

SET nom_variable = valeur ;

En conséquence, je n'ai vu que l'erreur suivante dans la console :

ERREUR 1238 (HY000) à la ligne 1 : La variable "secure_file_priv" est une variable en lecture seule.

Enfin, pour changer la valeur d'une variable secure_file_priv et ouvrir les opérations d'exportation et d'importation, je devais accéder au fichier de configuration MySQL mysql.ini, qui se trouve dans le répertoire racine de la distribution MySQL, ou accessible d'une autre manière si MySQL est inclus avec votre WAMP/LAMP/ Construction du serveur MAMP.

À propos, si vous souhaitez modifier le chemin d'accès au répertoire du tampon d'échange de fichiers, vous devrez faire de même.

Dans mon cas, cette variable existait déjà dans la configuration, uniquement sous une forme commentée :

secure-file-priv = "%dprogdir%\\userdata\\temp"

Si vous ne l'avez pas, écrivez-le à partir de zéro dans la section (au moins, je l'ai là).

Je l'ai décommenté et j'ai décidé de l'utiliser sous la forme dans laquelle il a été écrit. Ceux. lors de l'exportation de données depuis MySQL et de leur réimportation, mes fichiers seront désormais stockés dans le répertoire c:\openserver\userdata\temp\.

Après avoir modifié la config (n'importe laquelle d'ailleurs), n'oubliez pas de redémarrer votre serveur ou un service distinct dont vous avez corrigé les paramètres, si possible, pour que les modifications prennent effet !

Bien sûr, après avoir redémarré le serveur MySQL, affichez à nouveau la variable secure_file_priv et copiez sa valeur dans le presse-papiers.

Et maintenant, nous devons appeler la commande, comme au début, seulement avant le nom du fichier dans lequel les informations de la base de données MySQL seront enregistrées, écrivez le chemin stocké dans la variable que nous modifions sous la forme suivante :

SELECT * FROM table_base de données INTO OUTFILE "value_secure_file_priv\file_name.csv" ;

Après cela, l'exportation de données depuis MySQL a fonctionné dans mon cas.

Point important! Si vous travaillez avec MySQL sous Windows, n'oubliez pas de remplacer "\" par "/" lors de la spécification du chemin d'accès au fichier, sinon une erreur avec --secure-file-priv continuera à apparaître de toute façon.

Cet article sur la façon de vider la base de données MySQL et ses tables, ainsi que sur la façon de sortir les données des tables MySQL dans différents formats, touche à sa fin. Écrivez vos commentaires dans les commentaires et partagez avec tous vos options de script que vous utilisez le plus souvent dans la pratique.

Si l'article vous a plu, vous pouvez remercier l'auteur en repostant l'article sur les réseaux sociaux ou financièrement en utilisant le formulaire ci-dessous, afin de pouvoir payer l'hébergement.

Bonne chance à tous et à bientôt ! 🙂

P.S.: si vous avez besoin d'un site Web ou si vous devez apporter des modifications à un site existant, mais que vous n'avez ni le temps ni l'envie pour cela, je peux vous proposer mes services.

Plus de 5 ans d'expérience développement de sites Web professionnels. Travailler avec PHP

Vous avez aimé l'article ? Partager avec des amis: