phpMyAdmin est un outil d'administration de bases de données MySQL très populaire, utilisé par de nombreux développeurs web pour gérer leurs bases de données directement via une interface web. Il permet de créer des bases de données, des tables, des champs, d'exécuter des requêtes SQL, et bien plus encore. Une fonctionnalité essentielle est la possibilité de créer des relations entre les tables, ce qui permet de définir des contraintes d'intégrité référentielle et d'assurer la cohérence des données. Cependant, la configuration initiale de phpMyAdmin ne permet pas toujours de créer ces relations graphiquement. Cet article explique comment configurer phpMyAdmin pour activer la création de relations entre les tables et explorer d'autres options utiles.

Introduction

Pour les novices qui souhaitent retrouver dans phpMyAdmin les mêmes services que dans Access, il peut être décourageant de ne pas trouver immédiatement la possibilité de lier graphiquement deux tables entre elles. Heureusement, il est possible de configurer phpMyAdmin pour activer cette fonctionnalité et bien d'autres encore.

Activer le mode concepteur dans phpMyAdmin

Le mode concepteur dans phpMyAdmin permet de visualiser les bases de données, leurs tables et les différents champs qui les composent sous la forme d'un schéma. On peut aussi y voir facilement les relations entre les tables. Pour activer le mode concepteur, il faut configurer phpMyAdmin en important un fichier SQL qui va permettre à phpMyAdmin d'avoir sa propre table, contenant ses informations de configuration.

Étapes à suivre

  1. Localiser le fichier create_tables_mysql_4_1_2+.sql ou create_tables.sql et upgrade_tables_mysql_4_1_2+.sql:

    • Si vous avez une version de MySQL supérieure ou égale à la 4.1.2, localisez le fichier create_tables_mysql_4_1_2+.sql.
    • Dans le cas contraire, localisez les deux fichiers create_tables.sql et upgrade_tables_mysql_4_1_2+.sql.

    Ces fichiers se trouvent généralement dans le répertoire scripts de votre installation phpMyAdmin (par exemple, C:\wamp\apps\phpMyAdmin2.10.1\scripts sous WAMP).

    Lire aussi: Trapèzes contractés : causes et solutions

  2. Importer le(s) fichier(s) SQL via phpMyAdmin:

    • Connectez-vous à phpMyAdmin.
    • Sélectionnez la base de données dans laquelle vous souhaitez stocker les tables de configuration de phpMyAdmin. Il est recommandé de créer une base de données dédiée à cet usage, par exemple phpmyadmin.
    • Cliquez sur l'onglet "SQL" et importez le(s) fichier(s) SQL que vous avez localisé(s).
  3. Configurer les paramètres de phpMyAdmin:

    • Modifiez le fichier de configuration de phpMyAdmin (config.inc.php). Ce fichier se trouve généralement à la racine de votre installation phpMyAdmin.
    • Ajoutez ou modifiez les lignes suivantes, en remplaçant les valeurs par les informations de votre base de données et de votre serveur :
    $cfg['Servers'][$i]['controlhost'] = 'localhost'; // Remplacez par le nom d'hôte de votre serveur MySQL$cfg['Servers'][$i]['controlport'] = ''; // Laissez vide si vous utilisez le port par défaut (3306)$cfg['Servers'][$i]['controluser'] = 'pma'; // Remplacez par le nom d'utilisateur ayant les droits sur la base phpmyadmin$cfg['Servers'][$i]['controlpass'] = 'pmapass'; // Remplacez par le mot de passe de l'utilisateur$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // Remplacez par le nom de la base de données phpmyadmin$cfg['Servers'][$i]['relation'] = 'pma_relation'; // Nom de la table pour les relations$cfg['Servers'][$i]['table_info'] = 'pma_table_info'; // Nom de la table pour les informations sur les tables$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; // Nom de la table pour les coordonnées des tables (mode concepteur)$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; // Nom de la table pour les pages PDF$cfg['Servers'][$i]['column_info'] = 'pma_column_info'; // Nom de la table pour les informations sur les colonnes$cfg['Servers'][$i]['history'] = 'pma_history'; // Nom de la table pour l'historique des requêtes$cfg['Servers'][$i]['bookmark'] = 'pma_bookmark'; // Nom de la table pour les signets$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; // Nom de la table pour les coordonnées du concepteur$cfg['Servers'][$i]['tracking'] = 'pma_tracking'; // Nom de la table pour le suivi des modifications$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; // Nom de la table pour la configuration utilisateur$cfg['Servers'][$i]['recent'] = 'pma_recent'; // Nom de la table pour les tables récentes$cfg['Servers'][$i]['favorite'] = 'pma_favorite'; // Nom de la table pour les tables favorites

    Note: Il est crucial de remplir la variable $cfg['blowfish_secret'] avec une chaîne de caractères aléatoire pour sécuriser l'authentification par cookie.

  4. Redémarrer le serveur web:

    Après avoir enregistré ces modifications, redémarrez votre serveur web (Apache, Nginx, etc.) pour que les changements soient pris en compte. Sous WAMP, vous pouvez faire un clic gauche puis "Exit" pour redémarrer complètement.

    Lire aussi: La famille Marley

Créer des relations entre les tables

Une fois le mode concepteur activé, vous pouvez créer des relations entre les tables directement depuis l'interface de phpMyAdmin.

Étapes à suivre

  1. Sélectionner la base de données:

    • Connectez-vous à phpMyAdmin.
    • Sélectionnez la base de données pour laquelle vous souhaitez créer des relations.
  2. Accéder au mode concepteur:

    • Dans le menu lié à la base de données, vous devriez maintenant avoir un nouvel onglet "Concepteur". Cliquez dessus.
  3. Créer la relation:

    • Dans le mode concepteur, vous verrez un schéma de votre base de données avec les tables et leurs champs.
    • Cliquez sur le champ de la table enfant qui doit être lié à la table parent (clé étrangère).
    • Cliquez ensuite sur le champ de la table parent qui est la clé primaire.
    • Une fenêtre s'ouvrira pour vous permettre de définir les options de la relation (ON DELETE, ON UPDATE). Choisissez les options appropriées et validez.

    phpMyAdmin confirmera la création de la relation par un message. Seule une erreur de conception (comme un typage incohérent des champs liés) peut empêcher la création de la relation.

    Lire aussi: Comprendre les coliques du nourrisson

Vérifier la configuration

Pour vérifier que la configuration de phpMyAdmin est correcte, vous pouvez tester les fonctionnalités suivantes :

  • Création d'une relation entre tables: Vérifiez que vous pouvez créer une relation entre deux tables via le mode concepteur.
  • Enregistrement des requêtes dans des signets: Testez l'enregistrement de requêtes dans des signets pour pouvoir les réutiliser facilement.
  • Création de PDF: Essayez de générer un schéma de base de données au format PDF.

Alternatives à phpMyAdmin

Bien que phpMyAdmin soit un outil très populaire, il existe d'autres alternatives pour gérer les bases de données MySQL. Voici quelques exemples :

  • Adminer: Une interface ultra simpliste, composée d'un seul fichier PHP, qui permet de gérer les bases de données, les tables et les champs. Elle supporte également SQLite, PostgreSQL, MS SQL, Firebird, ElasticSearch, SimpleDB, MongoDB et Oracle.
  • DbNinja: Une alternative entre phpMyAdmin et Adminer, qui permet de se connecter à plusieurs serveurs et de comparer deux bases de données.
  • MyWebSQL: Une interface légère avec une structure de tableau interactif pour les données.
  • phpMiniAdmin: Un outil minimaliste pour exécuter des requêtes, importer/exporter des données et consulter les tables.
  • SIDU (Select Insert Delete Update): Un outil très léger pour gérer les bases de données, les tables et les vues.
  • MySQL Workbench: L'outil officiel d'Oracle pour MySQL, qui permet de créer des MCD à partir d'une base de données (reverse engineering) et d'administrer les serveurs.
  • HeidiSQL: Un logiciel Open-Source pour Windows qui peut se connecter à des serveurs MySQL, SQL Server et PostgreSQL.
  • DBeaver: Un outil multiplateforme avec une interface semblable à Eclipse, qui supporte de nombreux drivers de connexions aux serveurs de bases de données et génère des diagrammes de tables.

Sécuriser phpMyAdmin

Il est important de sécuriser phpMyAdmin pour éviter les accès non autorisés à votre base de données. Voici quelques mesures de sécurité à prendre :

  • Utiliser un nom de domaine spécifique: Rendez phpMyAdmin accessible uniquement via un nom de domaine spécifique pour éviter que n'importe qui ne tombe sur la page de connexion.
  • Ajouter une double authentification: Protégez l'accès avec un identifiant/mot de passe pour une sécurité accrue.
  • Modifier le mot de passe par défaut: Changez le mot de passe par défaut du compte root de MySQL.
  • Créer un utilisateur dédié: Créez un utilisateur dédié pour phpMyAdmin avec les privilèges nécessaires, au lieu d'utiliser le compte root.
  • Protéger le fichier de configuration: Assurez-vous que le fichier de configuration de phpMyAdmin (config.inc.php) est protégé et n'est pas accessible publiquement.
  • Mettre à jour régulièrement: Mettez à jour phpMyAdmin régulièrement pour bénéficier des dernières corrections de sécurité.

tags: #tables #pma #phpmyadmin #explication

Articles populaires: