MySQL/PhpMyAdmin
Introduction
[modifier | modifier le wikicode]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 :
Installation de PhpMyAdmin
[modifier | modifier le wikicode]Docker Compose
[modifier | modifier le wikicode]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 | modifier le wikicode]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.
Linux
[modifier | modifier le wikicode]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 | modifier le wikicode]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.
Test
[modifier | modifier le wikicode]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 | modifier le wikicode]PHP
[modifier | modifier le wikicode]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.
MySQL
[modifier | modifier le wikicode]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 | modifier le wikicode]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 | modifier le wikicode]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 | modifier le wikicode]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 :