🗃️
SGBDR
  • SGBDR
  • Introduction
    • Introduction
    • Abstractions, DDL, DML et SQL
  • Setup initial
    • Options d'architecture
    • MariaDB via Docker (en dev)
    • Connexion
    • Import des données
    • Sécurisation et privilèges
  • Interrogation
    • Vocabulaire
    • La base "SaaS"
    • select
    • Opérations de set
    • Agrégation
    • Sous-requêtes
    • Jointures
    • Pagination
  • Projet
    • Projet 1 : Pagination
  • Data modeling
    • Introduction
    • Design conceptuel
    • Design logique
    • Dépendances fonctionnelles
    • Normalisation
  • Data définition (DDL)
    • Introduction
    • Create table
    • Alter table
    • Identifiants
    • Types complexes
    • Exercice
  • Data manipulation (DML)
    • Update et delete
    • Transactions
    • Stored procedures
  • Opérations
    • Docker en opération
    • Optimisation
    • Sauvegardes
  • Conclusion
    • Conclusion
  • Copyright Kevin Glass 2023
Propulsé par GitBook
Sur cette page
  • Client Shell : mysql via docker
  • Client Shell : My CLI
  • Client App UI
  • Web App: phpMyAdmin
  1. Setup initial

Connexion

PrécédentMariaDB via Docker (en dev)SuivantImport des données

Dernière mise à jour il y a 1 an

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.

Client Shell : mysql via docker

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 :

docker container ls

Une fois repéré l'ID du container (dans mon exemple, le ID est 794b579cd610) :

docker exec -it 794b579cd610 mysql -u root -p

Client Shell : My CLI

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 :

 mycli -h mon_sgbdr -u root

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

Client App UI

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" :

Web App: phpMyAdmin

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 ?

Si vous êtes sur Linux ou MacOS, vous pouvez utiliser un client SHELL pour SQL. Par exemple :

Sequel Pro (Mac OS) :

MySQL WorkBench (Windows et MacOS) :

L'image docker existe déjà :

Je vous laisse cette configuration comme exercice !

🚀
https://www.mycli.net
https://www.sequelpro.com
https://www.mysql.com/products/workbench/
https://hub.docker.com/_/phpmyadmin
Ajoutez "useSSL=0" aux options pour désactiver SSL sur la connexion locale.