Connexion
Dernière mise à jour
Dernière mise à jour
On utilise une application dite "client" qui va se connecter à la base et lui faire des interrogations.
Il y a plusieurs façons de se connecter à la base locale qu'on vient de créer.
Par défaut, toutes les installations de MySQL (et donc MariaDB) viennent avec un client qui s'appelle mysql. Ce client permet d'ouvrir un interprète et envoyer de commandes au SGBDR.
Nous pouvons, sans rien installer, établir une connexion au SGBDR en ouvrant un shell interactif au Container, et en lançant la commande :
D'abord, identifiez bien le ID de votre Container Mariadb :
Une fois repéré l'ID du container (dans mon exemple, le ID est 794b579cd610
) :
Si vous êtes sur Linux ou MacOS, vous pouvez utiliser un client SHELL pour SQL. Par exemple : https://www.mycli.net
Il suffit de lancer l'interprète SQL avec les coordonnées de connexion de votre SGBDR.
J'ai déjà installé le client mycli
dans le Container pour les supports de ce cours. Il faudrait lancer VSCode dans le container, et dans le terminal, vous pouvez exécuter la commande suivante :
Les options sont :
-h : Le nom d'hôte de la machine qui a votre SGBDR, ou l'adresse IP
-u : Le nom d'utilisateur de connexion
Dans le docker-compose ci-dessus, nous avons précisé un service qui s'appelle mon_sgbdr
.
Docker est suffisamment intelligent d'avoir pu créer, dans son DNS local, un hôte virtuel de ce nom, avec le port correspondant.
Ensuite, la partie networks
a configuré un réseau qui s'appelle sgbdr-network
, auquel notre DevContainer pour nos supports appartient aussi (regardez le .devcontainer/docker-compose.yml
).
Tout cela faite une sorte qu'on puisse demander une connexion à partir d'un Container (VSCode/Supports SGBDR) vers un autre Container (celui de MariaDB), rien qu'en précisant le nom du service en tant que nom d'hôte !
Essayez une instruction sql : show databases
Si vous préférez utiliser une interface visuelle, il en existe pour toutes les plateformes :
Client simple et efficace pour les connexions SQL.
Client visuel qui fonctionne sur Windows et Mac. Attention, ce logiciel va se plaindre comme quoi vous ne vous connectez pas à MySQL (puisqu'on utilise MariaDB). Vous pouvez ignorer le message.
Parfois, il y aura des petites choses pas compatibles, mais toutes les commandes SQL émis dans ce cours peuvent être effectuées via WorkBench.
Attention, WorkBench exige par défaut une connexion sécurisée. Or, actuellement notre Container MariaDB n'est pas sécurisé avec SSL ou autre. Donc, il faut signaler à WorkBench de désactiver la sécurité, dans l'onglet "Advanced" :
Vous connaissez sûrement déjà l'interface phpMyAdmin pour la gestion de vos SGBDR.
Pourquoi pas ajouter un deuxième service à votre docker-compose.yml ?
L'image docker existe déjà : https://hub.docker.com/_/phpmyadmin
Je vous laisse cette configuration comme exercice !