Phpmyadmin
| Fiche express | |
|---|---|
| Type | Interface web d'administration MySQL/MariaDB |
| Langage | PHP |
| Alternative légère | Adminer (fichier PHP unique) |
| Voir aussi | Mysql · Mysqladmin · GRANT |
phpMyAdmin est un outil de gestion graphique de MySQL/MariaDB accessible par navigateur : parcours des bases et tables, exécution de requêtes SQL, import/export, gestion des utilisateurs et de leurs droits, sans passer par la ligne de commande.
Installation
yum install phpmyadmin
Sur les distributions RHEL/CentOS récentes, le paquet n'est généralement plus dans les dépôts de base : il faut activer EPEL et/ou le dépôt Remi (PHP) au préalable — à vérifier selon la version de l'OS ciblé.
Authentification
phpMyAdmin propose plusieurs modes d'authentification, définis dans sa configuration (config.inc.php, sous /etc/phpMyAdmin/ ou /usr/share/phpmyadmin/ selon la distribution) :
$cfg['Servers'][$i]['auth_type'] = 'http';
- cookie (mode par défaut, recommandé) — formulaire de connexion phpMyAdmin lui-même, identifiants MySQL saisis à chaque session, stockés côté client de façon chiffrée dans un cookie.
- http — authentification HTTP basique gérée par le serveur web, avant même d'atteindre l'application phpMyAdmin.
- config — identifiants MySQL fixes stockés directement dans le fichier de configuration : à éviter en production (équivalent à un compte partagé en clair sur le serveur).
Créer/modifier le compte utilisé pour se connecter : voir GRANT pour la syntaxe de création de compte et d'attribution de droits.
Restreindre l'accès réseau
Limiter l'accès à l'interface à certains réseaux via la configuration du serveur web. Exemple historique (syntaxe Apache 2.2, Order/Allow/Deny) :
<Directory /usr/share/phpMyAdmin/>
Order Allow,Deny
Allow from 192.168.0.0/24
Allow from 127.0.0.1
Allow from ::1
</Directory>
Sur Apache 2.4 et plus récent, cette syntaxe est obsolète et remplacée par Require :
<Directory /usr/share/phpMyAdmin/>
Require ip 192.168.0.0/24
Require ip 127.0.0.1
Require ip ::1
</Directory>
Dans tous les cas, une interface d'administration de base de données ne devrait jamais être exposée directement sur Internet sans restriction d'accès (IP, VPN, ou a minima une authentification HTTP en amont).
Alternative : Adminer
Adminer est une alternative à phpMyAdmin distribuée sous la forme d'un unique fichier PHP à déposer sur le serveur, sans installation de paquet ni dépendances — plus légère, avec une interface plus dépouillée, et supportant plusieurs SGBD (MySQL, PostgreSQL, SQLite...) au-delà de MySQL seul.
Voir aussi
- Mysql — page hub
- Mysqladmin — équivalent en ligne de commande
- GRANT — gestion des comptes et des droits