MySQL/PhpMyAdmin

(Redirigé depuis PhpMyAdmin)

Introduction

modifier

PhpMyAdmin est un paquet qui permet, grâce à une interface web, d'éditer/créer/supprimer des bases MySQL, des tables et leur contenu.

Prérequis : Soit Docker, soit :

  • Serveur Apache ou Nginx installé.
  • PHP installé (en module d'Apache ou en processus FPM).

Installation de PhpMyAdmin

modifier

Docker Compose

modifier

On peut utiliser traefik simplifier l'installation. En effet, il assure le routage pour éviter d'avoir à ajouter l'adresse de PhpMyAdmin dans le fichier hosts de l'OS et les vhosts su serveur Web :

version: "3.8"
services:
  traefik:
    image: traefik:v2.5
    command:
      - --providers.docker
      - --entryPoints.web.address=:80
      - --entryPoints.websecure.address=:443
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  mysql:
    hostname: mysql
    image: mysql:8.0.32
    ports:
      - "3306:3306"
    environment:
      TZ: Europe/Paris
      MYSQL_ALLOW_EMPTY_PASSWORD: true

  phpmyadmin:
    image: phpmyadmin
    labels:
      - traefik.enable=true
      - traefik.http.routers.adminer.rule=Host(`phpmyadmin.localhost`)
      - traefik.http.routers.adminer.entryPoints=web
    depends_on:
      - mysql
    environment:
      - PMA_HOST=mysql

Windows

modifier

Sous Windows, il est fourni avec WAMP ou EasyPHP, mais peut aussi être installé indépendamment depuis http://www.phpmyadmin.net/home_page/downloads.php.

Sous Linux, il est fournit avec LAMP. Depuis un tout-en-un, il suffit de créer un chemin accessible depuis le serveur Web :

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin 

Si ça ne fonctionne pas, suivre le paragraphe suivant.

Installer Apache et PHP avec PhpMyAdmin

modifier

Grâce aux dépendances des paquets, cette opération peut se faire en une seule fois : Remarque : Vérifiez que la case "Traiter les paquets recommandés comme des dépendances" soit cochée dans Synaptic, configuration, préférences.

$ sudo apt-get install phpmyadmin

Cela installera automatiquement apache2 + php + modules d'apache pour PHP et MySQL + PhpMyAdmin. Pour accéder à PhpMyAdmin, il faut se rendre à la page http://localhost/PhpMyAdmin.

Note : En cas de problème d'authentification (erreur 2002 notamment) installer le paquet mysql-server peut résoudre ce dernier.

Après l'installation, il vaut mieux modifier les droits d'accès de root, et ajouter un mot de passe pour un peu plus de sécurité. Pour cela, il faut se rendre à la page privilèges de PhpMyAdmin.

Remarque pour Ubuntu 5.04 (Hoary Hedgehog) : Afin que cette commande fonctionne il est nécessaire d'avoir effectué les modifications suivantes : dans /etc/apt/ éditer le fichier sources.list supprimer les # des lignes suivantes :

# deb http://fr.archive.ubuntu.com/ubuntu hoary universe

(cette ligne est dans certain cas '# deb http://archive.ubuntu.com/ubuntu/ hoary universe main restricted multiverse')

# deb-src http://fr.archive.ubuntu.com/ubuntu hoary universe

Pour la version d'Ubuntu 5.10 (Breezy), vous pouvez effectuer ces changements avec le gestionnaire de paquets synaptic (apt) : Système ---> Administration ---> Gestionnaire de paquets Synaptic

            Catégories ---> Dépôts ----> Ajouter et ensuite, sélectionner : maintenu par la communauté universe...

Lancer le chargement des nouvelles sources :

$ sudo apt-get update

Puis lancer l'installation de PhpMyAdmin comme décrit ci-dessus.

Une fois les paquets téléchargés et installés, taper http://localhost/phpmyadmin/ dans la barre d'adresse d'un navigateur (1) et faire "Entrée". Une page s'affichera, invitant à choisir sa langue d'affichage (2), entrer son nom utilisateur (3, sinon il définit phpmyadmin par défaut) et son mot de passe (4). Valider avec le bouton "Exécuter"

S'il y a un message d'erreur persistant à la place, il faut décommenter et définir les identifiants dans le fichier phpmyadmin\config.inc.php.

 

Vous obtiendrez cet écran où toutes les bases sont paramétrables.

 

Configuration

modifier

La configuration par défaut ne permet que d'importer des bases de données de maximum 2 Mo. Au-delà l'erreur suivante survient :

  • Aucune données n'a été reçu en vue de l'importation. Aucun nom de fichier n'a été fourni, ou encore la taille du fichier a dépassé la limite permise par votre configuration de PHP.

Pour étendre ce quota, modifier quatre lignes dans php.ini :

max_execution_time = 600
...
max_input_time = 600
...
upload_max_filesize = 100M
...
post_max_size = 100M

Puis relancer Apache.

De même, la durée de session par défaut étant de 1440 s, il convient de les étendre dans php.ini (paramètre session.gc_maxlifetime) avant de les étendre dans config.inc.php, ou par l'interface graphique.

Sur la page d'accueil, sans sélectionner de base, il y a un onglet Paramètres, puis dedans un Fonctionnalités pour gérer l'interface PHPMyAdmin.

De plus, l'onglet Variable permet de lire et configurer les paramètres de MySQL.

Créer des utilisateurs MySQL

modifier

Lancez votre navigateur préféré sur l'adresse http://localhost/phpmyadmin/

  • Connectez-vous en tant que 'root' avec le mot de passe du root MySQL que vous avez défini tout à l'heure
  • Cliquez sur "Privilèges", puis sur "Ajouter un utilisateur"
  • Entrez les informations de l'utilisateur
  • Dans la table "Privilèges globaux", définissez les droits de l'utilisateur. Si vous ne savez pas quoi mettre, cochez toutes les cases des colons "Données" et "Structures".
  • Validez en cliquant sur "Exécuter".

Vous pouvez maintenant vous déconnecter en cliquant sur "Quitter" et vous connecter avec le login et le mot de passe du nouvel utilisateur.

Conception

modifier

Il est possible de modéliser les tables et d'en convertir le code, grâce au concepteur accessible dans les onglets depuis une table :

 

Optimisation

modifier

Ce SGBD permet l'optimisation de requête, tel que décrit dans MySQL/Optimisation.

Par exemple, dans les évènements il est possible de lancer un OPTIMIZE TABLE toutes les nuits, d'obtenir une interface graphique avec version imprimable pour visionner le tableau d'un EXPLAIN, ou encore pour ajouter un trigger :