MySQL
Se connecter à MySQL
MySQL peut se rejoindre de plusieurs façons : via une commande dans le terminal, depuis un programme (ex : Node.js), ou via un logiciel graphique comme DBeaver. Chaque système d’exploitation a ses spécificités.
On décortique tout proprement.
🧩 1. Connexion MySQL via terminal (CLI)
🟦 Sous Linux (Debian, Ubuntu, Arch…)
MySQL est généralement déjà accessible via la commande :
mysql -u root -p
Explication :
- -u root = tu te connectes en tant qu’utilisateur root
- -p = le terminal te demande ton mot de passe
Si MySQL utilise MariaDB (cas fréquent) :
mariadb -u root -p
Connexion à une base précise :
mysql -u root -p SamiDB
Connexion distante (à ton serveur)
mysql -h IP_DU_SERVEUR -u NOM_UTILISATEUR -p
🟩 Sous macOS
Deux possibilités selon comment MySQL a été installé.
Si tu l’as installé via Homebrew :
mysql -u root -p
Service MySQL :
Démarrr MySQL
brew services start mysql
Arrêter MySQL
brew services stop mysql
Si MySQL vient du package officiel (dmg) :
Tu peux lancer :
/usr/local/mysql/bin/mysql -u root -p
🟥 Sous Windows
Via PowerShell ou CMD
L’exécutable est dans :
C:\Program Files\MySQL\MySQL Server 8.0\bin\
Donc :
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysql.exe -u root -p
Tu peux aussi ajouter ce chemin à la variable d’environnement PATH pour rendre mysql accessible partout.
🔐 2. Connexion via un client graphique (DBeaver, HeidiSQL, MySQL Workbench)
Là, tu renseignes simplement :
- Host : localhost ou IP du serveur
- Port : 3306 (par défaut)
- User : ex. root ou un utilisateur dédié
- Password : ton mot de passe MySQL
- Database : facultatif, tu peux en choisir une après connexion
Spécificités par OS
Windows
HeidiSQL est très apprécié : simple, rapide, parfait pour MySQL/MariaDB. MySQL Workbench reste correct mais lourd.
macOS & Linux
DBeaver est la valeur sûre : propre, compatible avec TOUT, open-source.
🌐 3. Connexion MySQL à distance (SSH Tunnel ou direct)
Quand ton MySQL n’est pas exposé en public (ce que tu dois éviter), tu passes par un tunnel SSH.
Variante sécurisée (à privilégier)
Depuis n’importe quel OS avec SSH :
ssh -L 3307:localhost:3306 user@IP_SERVEUR
Tu restes connecté. Ensuite dans ton client MySQL :
- Host : localhost
- Port : 3307
- User : normal
- Password : normal
C’est sécurisé car ça passe dans le tunnel SSH.
Variante risquée mais simple (connexion directe)
Si MySQL écoute sur ton IP publique (déconseillé !) :
mysql -h IP_SERVEUR -u user -p
Si ça ne fonctionne pas, il faut :
- modifier /etc/mysql/my.cnf (bind-address = 0.0.0.0)
- créer un utilisateur MySQL avec accès distant :
CREATE USER 'alex'@'%' IDENTIFIED BY 'motdepasse';
GRANT ALL PRIVILEGES ON *.* TO 'alex'@'%';
FLUSH PRIVILEGES;
🧪 4. Connexion MySQL depuis Node.js (backend SAMI...)
Deux façons principales : mysql2 ou Prisma.
Variante 1 – mysql2 (simple, brut)
Installation :
npm install mysql2
Connexion :
import mysql from 'mysql2/promise';
const db = await mysql.createConnection({
host: 'localhost', // IP du serveur MySQL
user: 'root', // utilisateur MySQL
password: 'monmdp', // mot de passe MySQL
database: 'SamiDB' // base ciblée
});
// Exemple de requête :
const [rows] = await db.query('SELECT * FROM User');
console.log(rows);
Variante 2 – Prisma (ton setup actuel dans SAMI)
Ton .env doit contenir :
DATABASE_URL="mysql://root:motdepasse@localhost:3306/SamiDB"
Ensuite Prisma gère tout en interne.
Le client s’utilise comme dans SAMI :
const users = await prisma.user.findMany();
🔧 5. Connexion pour un script bash / automatisation
Sous Linux :
mysql -u root -p'MDP' -e "SHOW DATABASES;"
Ou avec fichier .my.cnf sécurisé :
[client]
user=root
password=tonmdp
Puis simplement :
mysql
🔒 6. Vérifier que MySQL tourne (selon OS)
Linux
systemctl status mysql
systemctl status mariadb
macOS (Homebrew)
brew services list
Windows
Panel « Services » → MySQL80