# MySQL/PhpMyAdmin

* Introduction
* PhpMyAdmin
* Parcourir les bases de données
* Spécifier les noms
* LDD, LMD et LCD
* Variables utilisateurs
* Alias
* Types de données
* Manipulation de base
** mysqldump
* Manipulation de table
* Manipulation de données
* Requêtes
* NULL
* Opérateurs
* Fonctions
* Procédures stockées
* Regex
* Bases de données spatiales
* Importer et exporter
* Réplication
* Optimisation
* API
* Sécurité
* Mots réservés
* Débogage
* Introduction
* PhpMyAdmin
* Parcourir les bases de données
* Spécifier les noms
* LDD, LMD et LCD
* Variables utilisateurs
* Alias
* Types de données
* Manipulation de base
** mysqldump
* Manipulation de table
* Manipulation de données
* Requêtes
* NULL
* Opérateurs
* Fonctions
* Procédures stockées
* Regex
* Bases de données spatiales
* Importer et exporter
* Réplication
* Optimisation
* API
* Sécurité
* Mots réservés
* Débogage
[ Modifier le sommaire ]

## Introduction

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
### Docker Compose

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 :

### Windows

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

Sous Linux, il est fournit avec LAMP. Depuis un tout-en-un, il suffit de créer un chemin accessible depuis le serveur Web :
Si ça ne fonctionne pas, suivre le paragraphe suivant.

#### Installer Apache et PHP avec PhpMyAdmin

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.
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 :
(cette ligne est dans certain cas '# deb http://archive.ubuntu.com/ubuntu/ hoary universe main restricted multiverse')
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
Lancer le chargement des nouvelles sources :
Puis lancer l'installation de PhpMyAdmin comme décrit ci-dessus.

## Test

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
### PHP

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 :
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

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

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

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

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 :