Découvrez les impératifs critiques d'une base de données en production : étanchéité réseau (ports fermés à internet), haute disponibilité, indexation des requêtes et intégrité transactionnelle ACID.
La base n'écoute que sur 127.0.0.1 ou au sein d'un Virtual Private Cloud (VPC) privé.
L'application ne dispose que des droits DML (SELECT, INSERT, UPDATE, DELETE), jamais DROP ou ALTER.
Accélération des recherches pour éviter les scans séquentiels complets de tables volumineuses.
Sauvegardes automatiques quotidiennes chiffrées et exportées hors du serveur.
# 1. Vérifier que MySQL n'écoute PAS sur l'adresse IP publique
$ sudo ss -tulpn | grep 3306
tcp LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=940,fd=34))
# ✅ 127.0.0.1 : Inaccessible depuis l'extérieur du serveur !
# 2. Vérifier les connexions actives et la charge en direct
$ sudo mysqladmin -u root -p status
Uptime: 45012 Threads: 4 Questions: 145028 Slow queries: 0 Opens: 210 Open tables: 180
# 3. Vérifier l'espace disque disponible pour les données
$ df -h /var/lib/mysql
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 78G 14G 61G 19% /var/lib/mysql0.0.0.0 pour pouvoir s'y connecter depuis leur maison avec DBeaver ou TablePlus. | Aspect | Environnement de Développement | Environnement de Production |
|---|---|---|
| Compte utilisateur | Souvent 'root' sans mot de passe | Utilisateur applicatif dédié avec mot de passe cryptographique fort |
| Accès distant | Accessible depuis localhost sans restriction | Fermé à internet (bind-address = 127.0.0.1) |
| Gestion des modifications | Modifications manuelles de tables dans phpMyAdmin | Migrations versionnées et automatisées (Prisma, Flyway, Knex) |
| Sauvegardes | Aucune sauvegarde | Snapshots quotidiens + réplication read-replica |