Retour aux outils
Bases de donnéesDébutantOpen sourceAuto-hébergeablevRELEASE_5_2_3

phpMyAdmin

**L'interface web de référence pour MySQL et MariaDB** : l'outil historique, éprouvé, soutenu par la

MAJ 2026-06-14
phpMyAdmin
Site officiel Code source★ 7 886

phpMyAdmin est une interface web open source écrite en PHP qui permet d'administrer des serveurs MySQL et MariaDB depuis un navigateur. Le projet a démarré en 1998 (par Tobias Ratschiller, puis repris par la communauté MySQL) et reste aujourd'hui l'un des outils les plus utilisés au monde pour admin

Description

phpMyAdmin est une interface web open source écrite en PHP qui permet d'administrer des serveurs MySQL et MariaDB depuis un navigateur. Le projet a démarré en 1998 (par Tobias Ratschiller, puis repris par la communauté MySQL) et reste aujourd'hui l'un des outils les plus utilisés au monde pour administrer des bases MySQL, avec des déploiements dans praticamente toutes les universités, hébergeurs et infrastructures LAMP. C'est un projet de la Software Freedom Conservancy sous licence GPL.

L'application supporte l'essentiel des opérations d'administration : navigation des schémas, exécution de requêtes SQL, import/export (CSV, SQL, XML, JSON, PDF), gestion des utilisateurs et privilèges, monitoring des processus, réplication, partitions, routines stockées, événements, triggers. phpMyAdmin gère aussi le mariage MariaDB/Galera et les nouveautés de MySQL 8 (roles, fenêtres, etc.). Une API cliente existe pour scripter, mais l'usage principal reste l'UI web.

Public cible : administrateurs LAMP/LEMP, hébergeurs, devs PHP. C'est un outil historique, stable, supporté par la fondation MySQL — un excellent choix par défaut dès qu'on doit exposer une base MySQL à l'œil humain.

Fonctionnalités principales

  • ✅ Navigation multi-schémas : arborescence des bases, tables, vues, routines
  • ✅ Éditeur SQL avec coloration, autocomplétion, historique
  • ✅ Import / Export : SQL, CSV, XML, JSON, YAML, PDF, OpenDocument
  • ✅ Gestion utilisateurs : création, privilèges, rôles MySQL 8
  • ✅ Designer : édition visuelle des schémas (relations, clés étrangères)
  • ✅ Suivi de réplication : état maître/esclave
  • ✅ Thèmes et personnalisation UI
  • ✅ Multi-langue (dont français complet)
  • ✅ Mode démo pour tester sans toucher à un serveur

Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    container_name: phpmyadmin
    restart: unless-stopped
    environment:
      PMA_HOST: db          # nom du service MySQL/MariaDB
      PMA_PORT: 3306
      PMA_ARBITRARY: 1      # autoriser la connexion à n'importe quel serveur
      UPLOAD_LIMIT: 300M
    ports:
      - "8080:80"
    volumes:
      - /sessions            # pour la persistance des sessions PHP
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.pma.rule=Host(`pma.example.com`)"
      - "traefik.http.routers.pma.entrypoints=websecure"
      - "traefik.http.routers.pma.tls.certresolver=letsencrypt"

  # Exemple de MySQL lié
  db:
    image: mysql:8
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: changeme
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:

Option 2 : LAMP/LEMP classique

# Debian/Ubuntu
sudo apt install phpmyadmin
# Sélectionner Apache2 ou lighttpd lors de l'installation
# puis ouvrir /etc/apache2/conf-available/phpmyadmin.conf

Configuration

  1. Connecter un serveur MySQL : via PMA_HOST (Docker) ou l'écran d'accueil (login direct)
  2. Créer un compte admin : utiliser root MySQL avec un mot de passe fort
  3. Restreindre l'accès : limiter PMA_ARBITRARY=0 si on n'a qu'un seul serveur
  4. Importer des données : onglet Importer > choisir fichier (SQL, CSV, etc.)
  5. Exporter un dump : onglet Exporter > choisir méthode (SQL, custom, ZIP)
  6. Activer le suivi : menu Status > Monitor pour la réplication, requêtes lentes, etc.

Alternatives

Open Source

  • [[app-adminer]] — Interface PHP mono-fichier, supporte MySQL/Postgres/SQLite/Mongo
  • [[app-cloudbeaver]] — Version web de DBeaver, multi-SGBD
  • [[app-dbgate]] — Client multi-bases (Postgres, MySQL, Mongo, Redis, SQLite)
  • [[app-whodb]] — Explorateur léger nouvelle génération
  • HeidiSQL — Client Windows natif (pas web)
  • Sequel Ace — Client macOS natif

Comparaison phpMyAdmin vs alternatives

CritèrephpMyAdminAdminerCloudBeaverDbGate
SGBD supportésMySQL/MariaDB15+20+10+
TypeWeb PHPWeb PHPWeb JavaDesktop + Web
Setup1 service1 fichierConteneurConteneur
Designer visuel✅❌❌✅
Éditeur SQL avancé✅Basique✅✅
Léger❌ (PHP+ext)✅❌✅
Maturité25+ ans15 ans7 ans5 ans

Verdict : phpMyAdmin reste le standard pour MySQL/MariaDB. Pour du multi-SGBD ou du NoSQL, préférer CloudBeaver ou DbGate.

Propriétaires (ce que phpMyAdmin remplace)

  • MySQL Workbench (gratuit mais lourd, desktop Oracle)
  • Navicat for MySQL (payant, desktop)
  • TablePlus (freemium, desktop)
  • DataGrip (JetBrains, payant, desktop)

Sécurité

  • 🔒 Exposer derrière Traefik avec HTTPS obligatoire : un phpMyAdmin en HTTP sur Internet = port ouvert aux bots en moins d'une heure
  • 🔐 Activer l'authentification 2FA MySQL (caching_sha2_password) plutôt que d'utiliser root
  • 🛡️ Fail2ban : surveiller /var/log/apache2/access.log pour bloquer les brute-forces
  • 🚫 Désactiver $cfg['AllowRoot'] en production, créer un utilisateur dédié

Ressources