Comment répertorier les bases de données MySQL (tutoriel de code étape par étape)

Publié: 2022-10-22

MySQL est l'un des systèmes de gestion de bases de données relationnelles (RDBMS) les plus utilisés aujourd'hui. Il s'agit d'une plate-forme de base de données robuste qui permet de créer et de gérer des bases de données évolutives, principalement à l'aide d'un langage de requête structuré (SQL).

Le serveur MySQL est l'environnement dans lequel résident les bases de données - et où elles sont accessibles. En tant qu'administrateur de serveur, vous aurez souvent besoin de récupérer des détails sur cet environnement - répertoriant les bases de données qui résident sur le serveur, affichant les tables d'une base de données particulière, affichant les rôles et privilèges des utilisateurs, les contraintes d'accès, etc.

Cet article explique les tenants et les aboutissants de la liste des bases de données MySQL via l'invite de commande.

Prérequis pour répertorier les bases de données MySQL

Vous devez avoir le serveur MySQL en cours d'exécution sur votre machine locale pour commencer. Si vous n'avez pas MySQL, il existe plusieurs façons de l'installer :

  • Installez WAMPServer, XAMPP, MAMP ou toute autre pile de distribution de logiciels incluant MySQL.
  • Téléchargez et exécutez le programme d'installation de MySQL directement à partir de leur site Web officiel, en passant par le processus d'installation pour configurer et installer le serveur MySQL et d'autres outils.

Pour exécuter facilement les commandes MySQL à l'aide de la ligne de commande, vous devez ajouter le chemin de l'exécutable MySQL à l'environnement de votre système. Si vous avez installé MySQL en utilisant l'option deux, cette étape n'est pas nécessaire, alors n'hésitez pas à ignorer la section suivante.

Ajoutez le chemin MySQL à l'environnement de variables de votre système

Cette section vous explique comment ajouter le chemin de l'exécutable MySQL à l'environnement variable de votre système si vous exécutez XAMPP ou WAMP sur un ordinateur Windows.

Tout d'abord, lancez votre explorateur de fichiers Windows et accédez à Ce PC . Cliquez sur le lecteur sur lequel vous avez installé le package WAMP ou XAMPP ( C: ).

Si vous exécutez XAMPP, accédez à xampp > mysql > bin et copiez le chemin complet vers le dossier bin . Pour WAMP, naviguez dans {your-wamp-version} > bin > mysql > {your-mysql-version} > bin jusqu'à son chemin complet.

Le chemin complet pour accéder à MySQL CLI.
Le chemin d'accès complet au dossier bin.

Cliquez sur le menu Démarrer et recherchez "chemin". Cliquez sur Modifier la variable d'environnement système .

Ensuite, cliquez sur Variables d'environnement sous Démarrage et récupération , sélectionnez la variable PATH et cliquez sur Modifier .

Ensuite, cliquez sur Nouveau et collez le chemin complet de votre exécutable MySQL (que vous avez copié précédemment).

Modification des variables d'environnement.
Modification de la variable d'environnement.

Ensuite, enregistrez les modifications en cliquant sur OK .

Maintenant que le chemin a été ajouté, vous pouvez exécuter des commandes MySQL dans le terminal.

Connectez-vous à MySQL

Pour répertorier les bases de données MySQL, l'utilisateur doit être autorisé à accéder à toutes les bases de données, ou vous devez définir un privilège global SHOW DATABASES qui accorde l'accès à tous les utilisateurs.

Assurez-vous que votre serveur MySQL est en cours d'exécution avant de vous connecter via l'invite de commande :

 mysql -u -p

REMARQUE : remplacer avec votre nom d'utilisateur. Le nom d'utilisateur par défaut pour MySQL est root et le mot de passe est vide (il n'y a pas de mot de passe par défaut).

Connexion à MySQL via le terminal.
Connexion à MySQL.

Afficher les bases de données à l'intérieur du serveur MySQL

Maintenant que vous êtes connecté, vous pouvez lister les bases de données MySQL présentes sur le serveur en exécutant la commande SHOW DATABASES :

 SHOW DATABASES;

En retour, vous obtenez toutes les bases de données présentes dans le stockage :

Affichage des bases de données MySQL.
Liste des bases de données stockées.

Sur les six bases de données renvoyées, information_schema et performance_schema sont les bases de données par défaut qui sont automatiquement générées lorsque vous installez MySQL.

La base de données information_schema est une base de données non modifiable qui stocke toutes les informations relatives aux bases de données et autres objets (vues, privilèges des utilisateurs, tables, contraintes, etc.) stockés dans le serveur MySQL.

Filtrage des résultats de la sortie de la base de données

Auparavant, vous renvoyiez toutes les bases de données sur le serveur MySQL avec SHOW DATABASES , mais vous devez souvent filtrer la sortie de la base de données, principalement lorsqu'il existe de nombreuses bases de données sur le serveur.

La clause LIKE filtre le résultat de SHOW DATABASE en fonction d'un modèle spécifié. Voici la syntaxe générale :

 SHOW DATABASES LIKE '';

Il doit s'agir d'une chaîne représentant le modèle que vous souhaitez faire correspondre. La chaîne doit se terminer par le symbole de pourcentage, % , qui désigne un ou plusieurs caractères.

Par exemple, si vous souhaitez afficher uniquement les bases de données dont les noms commencent par la lettre w , vous le faites en exécutant ce qui suit :

 SHOW DATABASES LIKE 'w%';

Voici le résultat filtré :

Filter-list-mysql-databases
La réponse filtrée de la base de données lors de l'utilisation de 'w%'.

Utilisation du schéma d'informations pour interroger les métadonnées de la table

Plus tôt, vous avez vu comment la base de données information_schema stocke toutes les informations relatives aux bases de données, tables et autres objets dans l'environnement du serveur MySQL.

La base de données information_schema utilise la table schemata pour stocker des informations sur toutes les bases de données. Pour le filtrage de base de données, vous pouvez effectuer une recherche complexe pour interroger la table de schéma pour des bases de données spécifiques.

Par exemple, si vous voulez des bases de données dont les noms commencent par "samp" ou "word", vous pouvez combiner plusieurs autres clauses pour créer une requête complexe :

 SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';

Voici le résultat :

Utilisation de MySQL
Les résultats de la requête complexe.

De plus, vous disposez de la table tables de la base de données information_schema , qui contient des informations sur toutes les tables. De même, vous pouvez effectuer une requête pour récupérer uniquement les tables qui correspondent à un modèle spécifié.

Par exemple, la requête suivante renvoie les informations de schéma des seules tables WordPress — uniquement les tables dont les noms commencent par « wp_ » :

 SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Voici le résultat :

Aux prises avec des temps d'arrêt et des problèmes WordPress ? Kinsta est la solution d'hébergement conçue pour vous faire gagner du temps ! Découvrez nos fonctionnalités

Liste de la table de base de données MySQL wp_tables.
Les résultats des informations de schéma des seules tables WordPress.

Les autres tables trouvées dans information_schema incluent les columns , constraints , les table_constraints , check_constraints et les referential_constraints .

Problèmes courants et meilleures pratiques

L'une des causes les plus courantes d'erreurs lors de l'exécution de SQL est l'absence d'utilisation d'un point-virgule à la fin des instructions.

Un autre utilise une syntaxe SQL non valide ou un nom de table/colonne mal orthographié. Pour éviter cela, vérifiez le nom de la table ou de la colonne pour vous assurer qu'il est correctement orthographié. Assurez-vous également de vérifier votre syntaxe.

Voici quelques autres bonnes pratiques à garder à l'esprit.

Utiliser des majuscules pour les mots clés SQL

Lorsque vous écrivez du code SQL, utilisez toujours des majuscules pour les mots-clés SQL et des minuscules pour les noms de table et les noms de colonne. Cela rend votre code plus lisible et moins sensible aux erreurs.

Alors, au lieu de ça :

 select * from information_schema.tables where table_name like 'wp_%';

Faites ceci :

 SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Évitez d'utiliser SELECT *

Évitez d'utiliser SELECT * dans vos requêtes SQL. Votre demande n'est pas claire, car vous ne pouvez pas toujours savoir ce qu'elle renverra. Au lieu de cela, spécifiez les colonnes que vous souhaitez sélectionner dans le tableau.

Donc au lieu de ça :

 SELECT * EXCEPT(phone) FROM users.profile

Faites ceci :

 SELECT name, dob, address, country, address, FROM user.profile

Indentez votre code

Enfin, une autre astuce pour faciliter la recherche d'erreurs consiste à indenter votre code. Cela le rend plus lisible !

Gestionnaires de bases de données

Alternativement, vous pouvez choisir de gérer vos bases de données sans écrire de SQL grâce à l'utilisation d'un gestionnaire de base de données. Cela permet aux utilisateurs d'accéder aux fonctions de gestion de base de données sans avoir besoin d'écrire des requêtes SQL. Ce logiciel se connecte à un serveur MySQL et fournit une interface utilisateur pour exposer les fonctions de la base de données. Une fois connecté, l'interface utilisateur affichera toutes les bases de données sur le serveur. L'aspect et la convivialité varient selon les outils de gestion, mais le processus est similaire.

Le gestionnaire de base de données de DevKinsta.
Le gestionnaire de base de données de DevKinsta.

Plusieurs outils sont disponibles au choix, notamment phpMyAdmin et Adminer, tous deux accessibles via DevKinsta. L'outil de gestion par défaut pour DevKinsta est Adminer, car il est léger, simple et rapide, mais phpMyAdmin est facilement accessible.

Sommaire

En tant qu'administrateur de serveur, vous devez être en mesure de récupérer efficacement et avec précision les détails des bases de données sur votre serveur MySQL. Les capacités de voir quelles bases de données se trouvent sur le serveur, d'afficher des tables spécifiques et les informations qu'elles contiennent, et d'accéder aux informations sur les rôles et les privilèges des utilisateurs sont toutes des tâches cruciales. Heureusement, l'utilisation de SQL à partir de votre ligne de commande peut simplifier tout cela.

Lorsque votre gestion de base de données doit s'étendre au-delà de l'interrogation des tables, Kinsta peut vous aider. En savoir plus sur nos options d'hébergement de base de données évolutives dès aujourd'hui !