Aller au contenu
M06 · B. Préparer l'environnement

Préparer le serveur MySQL

Installer MySQL Server et Workbench, comprendre le service et le port 3306, démarrer, arrêter et se connecter au serveur.

1Situer

Le modèle est prêt, il faut maintenant un endroit pour créer la vraie base. Sur le poste de développement, on installe un serveur MySQL : un programme qui tourne en permanence, attend les requêtes sur un « port », et range les données sur le disque. On apprend à le démarrer, à l'arrêter et à s'y connecter.

2Comprendre

Le serveur MySQL, son port et ses clients
Service MySQL mysqld : démarré bases :soukmysql, sys… 3306 MySQL Workbench localhost · 3306 · root · •••• mysql -u root -p Site PHP ✖ Can't connect to MySQL server on 'localhost:3306'

Le service MySQL (mysqld) tourne en permanence sur la machine. Il range les bases sur le disque.

1 / 5

Installer MySQL et Workbench

Sur Windows, l’installateur MySQL Installer installe en une fois :

  1. MySQL Server : le serveur (le service MySQL80).
  2. MySQL Workbench : le client graphique.
  3. MySQL Shell et le client mysql en ligne de commande.

Pendant l’installation, on choisit : le port (3306), le mot de passe de root (à noter dans un endroit sûr), et le démarrage automatique du service avec Windows. Sur Linux (Ubuntu) : sudo apt install mysql-server, puis sudo mysql_secure_installation.

Gérer le service MySQL

ActionWindows (invite en administrateur)Linux
Voir l’étatsc query MySQL80 ou services.mscsystemctl status mysql
Démarrernet start MySQL80sudo systemctl start mysql
Arrêternet stop MySQL80sudo systemctl stop mysql
Redémarrerarrêter puis démarrersudo systemctl restart mysql

Dans Workbench, l’onglet Server > Startup/Shutdown fait la même chose avec des boutons.

Configurer le port et la connexion

Pour se connecter, un client a besoin de quatre informations : hôte (localhost), port (3306), utilisateur (root pour l’instant) et mot de passe. Le port se change dans le fichier de configuration (my.ini sous Windows, /etc/mysql/my.cnf sous Linux), section [mysqld], puis on redémarre le service.

Dans la suite du module, la console SQL du site remplace le serveur : elle fonctionne dans votre navigateur et accepte la syntaxe MySQL des leçons. Les commandes d’administration du serveur (services, ports, SHOW VARIABLES) sont, elles, à pratiquer sur votre MySQL installé.

Exemple simple

Le guichet de la poste

Le serveur MySQL est un guichet toujours ouvert. Les clients (Workbench, votre site PHP, la ligne de commande) font la queue et déposent leurs demandes. Le port 3306 est le numéro du guichet.

Exemple simple

Se connecter en ligne de commande

Le client mysql demande l'utilisateur et le mot de passe, puis affiche une invite mysql> où l'on tape des requêtes.

mysql -u root -p -h localhost -P 3306
Enter password: ********
mysql> SHOW DATABASES;

3Manipuler

Classez chaque élément selon ce qu'il désigne.
mysqld (le service MySQL Server)
MySQL Workbench
Le port 3306
net start MySQL80 (Windows, en administrateur)
phpMyAdmin
L'hôte localhost (127.0.0.1)
sudo systemctl restart mysql (Linux)
Le client en ligne de commande mysql
L'utilisateur root et son mot de passe

4Pratiquer

Exercice 1 · Le serveur ne répond pas

Workbench affiche « Can't connect to MySQL server on 'localhost:3306' ». Donnez trois vérifications à faire.

Voir le corrigé
1. Le service MySQL est-il démarré ? (services.msc ou
   systemctl status mysql)
2. Le port est-il bien 3306 ? (fichier my.ini / my.cnf,
   ligne port=)
3. Un autre programme utilise-t-il déjà ce port ?
   (par exemple le MySQL de XAMPP lancé en même temps)

Exercice 2 · Changer de port

Le port 3306 est déjà pris par XAMPP. Comment faire tourner votre MySQL sur le port 3307 et vous y connecter ?

Voir le corrigé
Dans my.ini (Windows) ou my.cnf (Linux), section [mysqld] :
  port=3307
Redémarrer le service, puis se connecter avec :
  mysql -u root -p -P 3307
(et mettre 3307 dans la connexion Workbench)

Exercice 3 · Premières commandes

Une fois connecté, quelles commandes affichent la liste des bases, puis les tables de la base souk ?

Voir le corrigé
SHOW DATABASES;
USE souk;
SHOW TABLES;

5Vérifier

1. Quel est le port par défaut de MySQL ?
2. MySQL Workbench est...
3. Pourquoi ne pas utiliser le compte root dans une application ?