PhpMyAdmin est un outil puissant et largement utilisé pour administrer les bases de données MySQL via une interface web. Cependant, les utilisateurs rencontrent parfois des difficultés, notamment le message d'erreur indiquant que "les fonctionnalités relationnelles sont désactivées". Cet article vise à expliquer les causes de ce problème et à proposer des solutions, tout en abordant des aspects connexes comme la mise à jour de phpMyAdmin et la sécurité des bases de données.
Introduction à phpMyAdmin et aux Fonctionnalités Relationnelles
PhpMyAdmin facilite la gestion des bases de données MySQL en offrant une interface graphique intuitive. Parmi ses nombreuses fonctionnalités, les fonctionnalités relationnelles permettent de définir des relations entre les tables d'une base de données, en utilisant des clés étrangères (FOREIGN KEY). Ces relations sont essentielles pour assurer l'intégrité des données et faciliter les requêtes complexes.
Causes des Fonctionnalités Relationnelles Désactivées
Plusieurs raisons peuvent expliquer pourquoi les fonctionnalités relationnelles sont désactivées dans phpMyAdmin :
- Type de table incorrect : Les fonctionnalités relationnelles ne sont disponibles que pour les tables de type InnoDB. Si vos tables sont de type MyISAM, ISAM ou autre, vous ne pourrez pas définir de relations.
- Absence de la base de données
phpmyadmin: PhpMyAdmin utilise une base de données dédiée, nomméephpmyadmin, pour stocker sa configuration, y compris les informations sur les relations entre les tables. Si cette base de données n'existe pas ou n'est pas correctement configurée, les fonctionnalités relationnelles seront désactivées. - Configuration incorrecte : La configuration de phpMyAdmin peut être incorrecte, notamment en ce qui concerne le mot de passe par défaut qui est une chaîne de caractères vide, ou des problèmes de droits d'accès.
Solutions pour Activer les Fonctionnalités Relationnelles
Voici les étapes à suivre pour activer les fonctionnalités relationnelles dans phpMyAdmin :
Vérifier le type de table : Assurez-vous que vos tables sont de type InnoDB. Vous pouvez vérifier cela dans phpMyAdmin en sélectionnant la table, puis en allant dans l'onglet "Opérations". Si le type de table est différent d'InnoDB, vous pouvez le modifier en utilisant l'option "Type de stockage".
Créer et configurer la base de données
phpmyadmin:- Assurez-vous que la base de données
phpmyadminexiste. Si elle n'existe pas, vous devez la créer. - Importez le schéma de la base de données
phpmyadmin. Ce schéma se trouve généralement dans le répertoire/examplesde votre installation phpMyAdmin. N'oubliez pas de mettre la bonne version de phpmyadmin que vous utilisez dans le chemin d'accès au répertoire. - Assurez-vous que l'utilisateur MySQL que vous utilisez pour accéder à phpMyAdmin a les droits nécessaires sur la base de données
phpmyadmin. L'usage de cette base de données est associé au compte utilisateur ayant tous les droits et donc en particulier à "root". - Modifiez le fichier de configuration de phpMyAdmin (
config.inc.php) pour indiquer l'emplacement de la base de donnéesphpmyadmin. Vous devez ajouter ou modifier les lignes suivantes :
$cfg['Servers'][$i]['controlhost'] = '';$cfg['Servers'][$i]['controlport'] = '';$cfg['Servers'][$i]['controluser'] = 'root';$cfg['Servers'][$i]['controlpass'] = 'votre_mot_de_passe';$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';Remplacez
votre_mot_de_passepar le mot de passe de l'utilisateur MySQL que vous utilisez.- Assurez-vous que la base de données
Vérifier et corriger les problèmes de sécurité : Lorsque vous entrez pour la première fois dans phpMyAdmin, le SGBD 'MySql' est paramétré sans mot de passe pour le compte 'root' du client 'localhost'. Et comme par hasard, il est renseigné à 'false'. Cet avertissement vous demande de résoudre ce problème de sécurité. Vous devez intervenir dans PhpMyAdmin en venant modifier le compte "root". Il est recommandé de modifier le mot de passe du compte "root" ou de créer un nouvel utilisateur avec des privilèges d'administration.
Redémarrer les services : Après avoir effectué ces modifications, redémarrez les services MySQL et Apache pour que les changements soient pris en compte. Sous l'icône WampServer, vous cliquez sur "redémarre les services". Si vous êtes dans la version officielle de WampServer, la manipulation est un peu différente. Celle qui consiste à cliquer sur redémarrer les services ne fonctionne pas. Pour ce faire, vous devez d'abord fermer l'icône puis relancer à nouveau WampServer pour la faire apparaitre.
Mise à Jour de phpMyAdmin
Il est important de maintenir phpMyAdmin à jour pour bénéficier des dernières fonctionnalités et correctifs de sécurité. Voici les étapes générales pour mettre à jour phpMyAdmin :
- Télécharger la dernière version : On trouve cette dernière version sur le site officiel, ou bien dans les archives !
- Extraire les fichiers : Après avoir déchargé et dézippé le fichier, l'opération suivante consiste à recopier le répertoire dans son emplacement normale. À savoir dans le répertoire
F:\Wamp\appssous le nomphpmyadminXX.YY.ZZoùXX.YY.ZZest le numéro de la dernière version. Je vous recommande de conserver le téléchargement dézippé au cas où vous rencontriez un problème lors de vos manipulations. Une mauvaise manipulation peut vite arriver. De même, ne détruisez pas, pour l'instant, l'ancienne version phpMyAdmin que vous utilisez actuellement. - Mettre à jour la configuration : Ce fichier se trouve dans le répertoire
F:\Wamp\aliassous le nomphpmyadmin.conf. Tout ce que vous devez faire, c'est remplacer le numéro de l'ancienne version (ce qui est en rouge) par la nouvelle (XX.YY.ZZ). - Modifier le VirtualHost (si applicable) : Je ne sais pas en ce que vous concerne, mais j'ai créé un VirtualHost pour accéder à PhpMyAdmin. Il est donc nécessaire de modifier le fichier
/apache/apacheXX.YY.ZZ/conf/extra/httpd-vhosts.conf(ou le fichier/apache/apacheXX.YY.ZZ/conf/httpd.conf), afin d'introduire ce virtualHost. Dans mon WampServer, le numéro de la version PhpMyAdmin courante se trouve dans la variable "${Version_PhpMyAdmin}". À la place de cette variable, vous devez mettre le chemin pour accéder à la version PhpMyAdmin que vous utilisez. - Activer la nouvelle version : Pour activer votre installation, vous devez en premier lieu, modifier le fichier "/scripts/wamp.php" afin de changer la version de votre PhpMyAdmin.
- Vérifier l'installation : Maintenant, vous devez vérifier que vous avez bien la dernière version en ligne. Dans l'icône WampServer, vous cliquez sur PhpMyAdmin.
Sécurité de phpMyAdmin et des Bases de Données
La sécurité de phpMyAdmin et des bases de données est primordiale. Voici quelques conseils pour renforcer la sécurité :
- Modifier le mot de passe par défaut : Lorque vous entrez pour la première fois dans phpmyadmin, il faut savoir que le mot de passe par defaut n'existe pas. Il n'y a aucune difficulté à configurer PhpMyAdmin. Le seul problème que les débutants rencontrent concerne le mot de passe pas défaut qui est la chaine de caractères vide.
- Utiliser un mot de passe fort : En rouge, vous devez mettre votre mot de passe pour accéder à PhpMyAdmin. Mettez autre chose que l'exemple donné ici. Si vous désirez augmenter votre sécurité, n'utilisez pas comme nom de compte "root" mais autre chose. Mettez, par exemple, "supervisor", "admin" ou votre prénom.
- Limiter l'accès à phpMyAdmin : Configurez votre serveur web pour limiter l'accès à phpMyAdmin à partir d'adresses IP spécifiques.
- Activer l'authentification à deux facteurs : PhpMyAdmin prend en charge l'authentification à deux facteurs pour une sécurité accrue.
- Mettre à jour régulièrement phpMyAdmin : Les mises à jour incluent souvent des correctifs de sécurité importants.
- Sauvegarder régulièrement vos bases de données : En cas de problème, vous pourrez restaurer vos données.
Gestion des Mots de Passe et des Utilisateurs
La gestion des mots de passe et des utilisateurs est cruciale pour la sécurité de votre base de données. Voici quelques recommandations :
- Modifier le mot de passe par défaut de l'utilisateur "root" : Il est impératif de modifier le mot de passe par défaut de l'utilisateur "root" dès la première connexion à phpMyAdmin.
- Créer des utilisateurs avec des privilèges limités : Ne donnez à chaque utilisateur que les privilèges dont il a besoin.
- Utiliser des mots de passe forts et uniques : Évitez d'utiliser le même mot de passe pour plusieurs comptes. Ne mettez pas des accents dans votre mot de passe qui est justement source de problème.
Astuces Avancées et Scripts Utiles
Pour les utilisateurs avancés, voici quelques astuces et scripts utiles pour gérer phpMyAdmin et les bases de données MySQL :
- Scripts batch pour la gestion des mots de passe : Pour utiliser cette astuce, nous allons créer un script batch windows qui sera exécuté sous l'invite de commande. Il se décompose en deux fichiers. Vous créez un répertoire et vous sauvegarder ces deux fichiers, l'un sous le nom batch.bat et l'autre sous le nom password.txt. Dans cet exemple, mon ancien mot de passe est 'toor' et le nouveau que je désire mettre sera 'root' (ci-dessus, en rouge). Je tiens à préciser que je ne modifie pas tous les comptes 'root', mais uniquement celui dont le client est 'localhost'. Je tiens à préciser que ce script SQL ainsi que le script batch est encodé en ANSI sous Notepad++.
- Automatisation des tâches avec des scripts SQL : Vous pouvez automatiser certaines tâches d'administration de la base de données en utilisant des scripts SQL.
- Utilisation de l'API phpMyAdmin : PhpMyAdmin offre une API que vous pouvez utiliser pour interagir avec phpMyAdmin à partir de vos propres applications.
États de Conscience Altérée et Analogie avec les Bases de Données
Bien que cela puisse paraître hors sujet, la notion d'états de conscience altérée, comme l'état pauci-relationnel (EPR), offre une analogie intéressante avec les bases de données. Dans l'EPR, la personne présente une altération de la relation avec son environnement, une difficulté à communiquer et à interagir. De même, lorsque les fonctionnalités relationnelles d'une base de données sont désactivées, la base de données perd sa capacité à établir des liens et des relations entre les données, ce qui limite son utilité et son potentiel.
tags: #pma #fonctionnalités #relationnelles #désactivées #explication