Configuration PhpMyAdmin

Rédigé en décembre 2014.

1) Introduction.

Ce didacticiel est consacré à la configuration du fichier config.inc.php et au premier démarrage de PhpMyAdmin. Pour ce faire, nous aborderons divers sujets comme l'installation d'une nouvelle version de PhpMyAdmin, de la configuration du fichier config.inc.php, ainsi que du paramétrage des autorisations dans MySql.

2) L'installation d'une nouvelle version de phpMyAdmin.

Pour des questions d'améliorations, voire de corrections d'anomalies, il est fréquemment fourni une nouvelle version de cet utilitaire graphique qui sert à gérer le Système de Gestion de Base de Données (SGBD) MySql d'une manière plus conviviale.

Nous allons détailler les différentes étapes de cette installation.

2-A) Mais où trouver cette dernière version ?

On trouve cette dernière version sur le site officiel, ou bien dans les archives ! Nous récupérons habituellement la version suffixée par "-all-languages.zip".

2-B) Dézipper le fichier !

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\apps sous le nom phpmyadminXX.YY.ZZ où XX.YY.ZZ est le numéro de la dernière version. Il est important de nommer ce répertoire en respectant la casse, à savoir l'écrire en caractères minuscules, sans tiret.

Je vous recommende 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. Elle ne viendra en aucune façon perturber votre nouvelle installation.

2-C) Modifier le fichier Alias !

Ce fichier se trouve dans le répertoire F:\Wamp\alias sous le nom phpmyadmin.conf. Voici un exemple de ce que j'ai dans mon fichier alias, au moment où j'écris ce didacticiel !

# ************************ #
#                          #
#     Alias phpMyAdmin     #
#                          #
#      Sphere "Rouge"      #
#                          #
# ************************ #

Alias /phpmyadmin "f:/Wamp/apps/phpmyadmin4.3.2/"
#
<Directory "f:/Wamp/apps/phpmyadmin4.3.2/">
	Options -Indexes +FollowSymLinks +MultiViews
	AllowOverride none
	Require local
</Directory>
#
			

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). Remarque : ce fichier concerne la version apache 2.4.

2-D) Intervention dans le fichier httpd-vhosts.conf (ou dans Httpd.conf) !

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. À titre indicatif, je vous communique mon VirtualHost.

# ------------------ #
#     PhpMyAdmin     #
# ------------------ #

<VirtualHost 127.0.0.52:80>
	ServerName phpmyadmin
	ServerAdmin artemus@jcz.fr
	DocumentRoot "${Version_PhpMyAdmin}/"
#
	ErrorLog  "f:/Wamp/Logs/phpmyadmin_error.log"
	CustomLog "f:/Wamp/Logs/phpmyadmin_custom.log" common
#
	<Directory />
		Options -Indexes +FollowSymLinks +MultiViews
		AllowOverride none
		<RequireAny>
			Require local
		</RequireAny>
	</Directory>
</VirtualHost>
			

Dans mon WampServer, le numéro de la version PhpMyAdmin courante se trouve dans la variable "${Version_PhpMyAdmin}". Vous pouvez retrouver le détail de la configuration du fichier httpd.conf en allant visiter mon didacticiel consacré à Apache.

À la place de cette variable, vous devez mettre le chemin pour accéder à la version PhpMyAdmin que vous utilisez. À titre d'exemple, voici mon chemin : "F:/Wamp/apps/phpmyadmin4.3.2/".

L'adresse IP 127.0.0.52 indiqué dans le virtualHost est celle que vous devez déclarer dans le fichier Hosts de votre ordinateur.

127.0.0.52  phpmyadmin
			

2-E) Recopie du fichier config.inc.php !

Si vous aviez déjà une ancienne version de PhpMyAdmin présente dans WampServer, il vous suffit alors de récupérer le fichier config.inc.php, en le recopiant dans le nouveau répertoire que vous venez d'installer. Et c'est tout !

Dans le cas contraire, vous devez vous référer au paragraphe de ce didacticiel consacré à la configuration du fichier config.inc.php.

2-F) Validez votre installation !

Pour activer votre installation, vous devez en premier lieu, modifier le fichier "/scripts/wamp.php" afin de changer la version de votre PhpMyAdmin. Pour plus d'explication sur ce fichier, voir le paragraphe 20) dans le didacticiel consacré à Wampserver.

Ensuite, vous devez faire un "refresh" (un clic avec le bouton droit sur l'icône WampServer) afin de faire apparaitre la nouvelle version, puis ensuite cliquer sur la dernière version de PhpMyAdmin (un clic dans l'icône de WampServer sur service puis phpmyadmin et enfin version).

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. Je ne connais pas la raison de cette différence de manipulation, mais il semble que des chargments de paramètres se font au démarrage de WampServer, et non dans le "redémarrage des services". Si vous n'avez pas commis d'erreurs, l'icône doit être verte.

Maintenant, vous devez vérifier que vous avez bien la dernière version en ligne. Dans l'icône WampServer, vous cliquez sur PhpMyAdmin. Selon le paramétrage qui est présent dans le fichier config.inc.php on vous demandera ou pas un nom d'utilisateur et un mot de passe. Nous verrons un peu plus loin dans ce didacticiel le problème que l'on rencontre parfois, lorsque le mot de passe n'est pas renseigné.

Lorque vous entrez pour la première fois dans phpmyadmin, il faut savoir que le mot de passe par defaut n'existe pas. Autrement dit, il est initialisé à vide.

En ce point de notre didacticiel, on va admettre que vous vous êtes connecté à PhpMyAdmin.

3) Paramétrage de MySql !

Nous allons traiter ici des questions de privilèges des comptes utilisateurs, entre autre du mot de passe, et du minimum de ce qu'il faut faire dans le fichier config.inc.php pour obtenir un minimum de sécurité.

3-A) Le fichier config.inc.php d'origine.

Le fichier ci-après est la version livrée avec WampServer. Ce fichier a été amélioré par l'administrateur Otomatic du forum WampServer, dont je suis aussi également un membre actif sous le pseudonyme "artemus24" ! Ce fichier est basique et permet de faire un démarrage sans problème.

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at <http://docs.phpmyadmin.net/>.
 *
 * @package PhpMyAdmin
 */

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver';
//$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;



/*
 * phpMyAdmin configuration storage settings.
 */
 
// No warning on  pmadb tables
$cfg['PmaNoRelation_DisableWarning'] = true;


?>
			

En rouge, les deux lignes concernant le nom de l'utilisateur et le mot de passe. Pour un premier démarrage, ne touchez pas à ce paramétrage.

3-b) Pas de mot de passe !

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'. Dans le fichier 'config.inc.php', vous avez pourtant bien renseigné un mot de passe à vide, comme ci-après :

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
			

Et quand vous accédez à PhpMyAdmin, vous avez ce message d'erreur bloquant :

MySQL a répondu:

Connexion impossible: paramètres incorrects.
			

Le problème est que vous avez une directive, dans 'config.inc.php' qui vous interdit d'avoir un mot de passe à vide. Voici cette directive :

$cfg['Servers'][$i]['AllowNoPassword'] = false;
			

Et comme par hasard, il est renseigné à 'false'. Pour résoudre votre problème de 'paramètres incorrects', il vous suffit de remplacer 'false' par 'true', et ainsi vous êtes maintenant autorisé à ne pas renseigner votre mot de passe.

Ne connaissant pas l'usage de 'AllowNoPassword' (permet aucun mot de passe), résoudre ce casse-tête est impossible.

3-C) Le message d'avertissement.

En accedant à PhpMyAdmin, vous aurez ce message en rouge qui est un avertissement :

Votre fichier de configuration fait référence à l'utilisateur «root» sans mot de passe, ce qui correspond à la valeur
par défaut de MySQL. Votre serveur MySQL est donc ouvert aux intrusions, et vous devriez corriger ce problème de sécurité.
			

Actuellement, il n'y a pas de mot de passe, ou si vous préférez, le mot de passe est la chaîne de caractères vide.

Cet avertissement vous demande de résoudre ce problème de sécurité. Il vous faut un mot de passe, autre que celui par défaut.

En résolvant ce problème, le message d'avertissement disparaitra !

3-D) Liste des comptes utilisateurs d'origine.

Vous devez intervenir dans PhpMyAdmin en venant modifier le compte "root". Dans la page d'accueil de PhpMyAdmin, vous devez cliquer sur l'onglet "utilisateurs". Vous obtiendrez les comptes suivants :

UtilisateurClientMot de passePrivilèges globauxGrantAction
N'importe quel%--USAGENonChanger les privilèges
N'importe quellocalhostNonUSAGENonChanger les privilèges
root127.0.0.1NonALL PRIVILEGESOuiChanger les privilèges
root::1NonALL PRIVILEGESOuiChanger les privilèges
rootlocalhostNonALL PRIVILEGESOuiChanger les privilèges

Vous devez intervenir sur la ligne en rouge, là où il y a marqué "root" & "127.0.0.1". Vous remarquez que le mot de passe est à "Non".

Remarque : ne pas modifier la dernière ligne contenant l'Hôte "localhost" car cela va ralentir vos connexions.

3-E) Modification du mot de passe dans le compte utilisateur.

Vous devez cliquer sur "Changer les privilèges" pour accéder à la modification du mot de passe. En haut de ce nouveau panneau, il y a un bouton qui s'intitule "Modifier le mot de passe". Vous cliquez dessus !

Il y a déjà une case de cochée devant la ligne "Mot de passe:". Vous renseignez deux fois le même mot de passe comme il est demandé.

Mettez par exemple "toor" ("root" lu à l'envers). Pour valider, tapez sur le bouton "Exécuter".

Si vous revenez dans le panneau "utilisateurs", en cliquant sur l'onglet du même nom, vous remarquerez alors que le "non" (celui qui est en rouge, dans le tableau ci-dessus) s'est transformé en "oui". Cela signifie que pour accéder à ce compte "root", vous devez indiquer un mot de passe.

3-F) Message d'erreur !

Après cette manipulation, vous sortez totalement de PhpMyAdmin et vous y revenez. Et surprise, vous rencontrez le message d'erreur suivant :

#1045 - Access denied for user 'root'@'127.0.0.1' (using password: NO)

phpMyAdmin a tenté de se connecter au serveur MySQL, et le serveur a rejeté la connexion. Veuillez vérifier les valeurs de
host, username et password dans votre configuration et vous assurer qu'elles correspondent aux informations fournies par
l'administrateur du serveur MySQL.
			

Ce message signifie que le mot de passe qui se trouve dans MySql (ce que vous venez de modifier par l'intermédiaire de PhpMyAdmin) n'est plus en concordance avec le mot de passe qui se trouve dans le fichier config.inc.php. Pour résoudre ce problème, vous devez modifier la ligne suivante :

$cfg['Servers'][$i]['password'] = 'toor';
			

En rouge, le mot de passe. Mettez autre chose que l'exemple donné ici. Si vous revenez dans PhpMyAdmin, normalement vous n'aurez plus l'erreur "#1045".

En corrigeant ce problème et en faisant attention à la casse de votre mot de passe, normalement, vous n'obtiendrez plus ce message d'erreur.

3-G) Un conseil concernant la sécurité !

Si vous désirez augmenter votre sécurité, n'utilisez pas comme nom de compte "root" mais autre chose. En effet, c'est le compte standard qui se trouve dans tous les SGBD MySql et à cause de cela, un pirate sait ce qu'il doit rechercher pour pénétrer illégalement votre SGBD MySql.

Mettez, par exemple, "supervisor", "admin" ou votre prénom. Dans le cas où vous desirez suivre ma recommendation (ce dont vous n'êtes pas obligé), vous ne devez pas détruire, pour l'instant, les comptes qui sont déjà présents dans MySql. Créez un nouveau compte du nom que vous voulez, par exemple "supervisor". Pour ce faire, vous cliquez sur le bouton "Ajouter un utilisateur".

Dans le panneau qui s'affiche, vous saisissez les zones ci-après, celles qui sont en rouge :

Information pour la connexion

Nom d'utilisateur : supervisor
Client            : 127.0.0.1
Mot de passe      : le mot de passe que vous avez choisi
Entrez à nouveau  : le même mot de passe que vous avez chosi

Privilèges globaux  X Tout cocher
                                                                            Exécuter
			

Il n'est pas nécessaire d'associer une base de données à ce compte. Ne pas oubliez de cochez la case des "Privilèges globaux". Ainsi ce compte aura tous les droits d'accès.

À la fin de la saisie, vous cliquez sur le bouton "Exécuter". Si tout c'est bien passé, normalement, vous devez obtenir :

UtilisateurClientMot de passePrivilèges globauxGrantAction
supervisor127.0.0.1OuiALL PRIVILEGESOuiChanger les privilèges

Ne pas oubliez d'intervenir dans le fichier config.inc.php en modifiant les deux lignes suivantes :

$cfg['Servers'][$i]['user'] = 'supervisor';
$cfg['Servers'][$i]['password'] = 'le mot de passe que vous avez choisi';
			

Comme je vous l'ai dit, vous n'êtes pas obligé de le faire.

3-H) Tester le changement de votre mot de passe.

Vous venez de modifier le compte utilisateur "root" (ou "supervisor") dans le SGBD MySql, afin de lui mettre un nouveau mot de passe. Vous avez aussi modifié le fichier config.inc.php en indiquant ce nouveau mot de passe.

Si vous pouvez ouvrir PhpMyAdmin avec le compte "root" (ou "supervisor"), c'est que votre manipulation a été un succès !

Vous pouvez maintenant détruire tous les autres comptes dans le SGBD MySql. Ne détruisez surtout pas le compte "root" & "localhost" (ou le compte "supervisor" & "localhost") car vous ne pourriez plus accéder à PhpMyAdmin. Et dans ce cas, vous devriez réinstaller votre SGBD MySql.

Enfin, c'est pas tout à fait exacte car il existe une astuce, que nous allons voir ci-après, pour contourner l'oubli du mot de passe dans votre SGBD MySql.

3-I) Comment modifier le mot de passe de Root lorsqu'on l'a oublié ?

Je tiens à vous signaler que cette astuce est un grave problème de sécurité concernant votre SGBD MySql. Un pirate qui peut accéder à votre ordinateur, peut prendre possession, voire modifier tout le contenu de vos bases de données.

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. le premier, c'est le batch, et le deuxième, ce sont les commandes SQL à exécuter pour modifier votre mot de passe.

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. Commençons par le fichier SQL :

use mysql;

update user set password=PASSWORD('root') where User='root' and Host='127.0.0.1';

flush privileges;

quit
			

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'. À l'exécution de ce script SQL, vous devriez ne rien obtenir comme messages d'avertissements.

Je tiens à préciser que ce script SQL ainsi que le script batch est encodé en ANSI sous Notepad++. Et maintenant, voici le script batch :

@echo off

chcp 1252 > nul

:Menu
cls

@echo Mot de passe oublié sous SGBD MySql  
@echo ===================================
@echo.
@echo 1 : arrêt du service 'WampMysqld'
@echo 2 : lancement du service sans mot de passe
@echo 3 : changement du mot de passe
@echo.
@echo q : fin
@echo.

set choix=
set /p choix=Votre choix ? 

if not '%choix%'=='' set choice=%choix:~0,1%

if '%choix%' == '1' goto :Arret
if '%choix%' == '2' goto :Sans
if '%choix%' == '3' goto :Password

if '%choix%' == 'q' goto :aurevoir

REM --------------------
REM   Aucune sélection  
REM --------------------

@echo.
@echo Veuillez recommencer !
@echo.
goto :menu

REM ---------------------------------
REM   Arrêt du service 'WampMysqld'  
REM ---------------------------------

:Arret
cls

@echo Arrêt du service 'WampMysqld'
@echo.

sc stop wampmysqld

@echo.
pause
goto :menu

REM -------------------------------------------------------
REM   Lancement du service 'WampMysqld' sans mot de passe  
REM -------------------------------------------------------

:Sans
cls

@echo On relance 'WampMysqld' sans mot de passe
@echo.

sc start wampmysqld --skip-grant-tables &

@echo.
pause
goto :menu

REM --------------------------------
REM   Modification du mot de passe  
REM --------------------------------

:Password
cls

@echo Modification du mot de passe
@echo.

set PATH=F:\Wamp\bin\mysql\mysql5.6.22\bin\;%PATH%

mysql --user root --host=127.0.0.1  mysql < password.txt

@echo.
pause
goto :menu

REM ---------------------
REM   Fin du Traitement  
REM ---------------------

:aurevoir

@echo.
pause
exit
			

J'ai créé un menu afin de laisser au batch le temps de terminer chaque étape. Si j'avais mis les séquences les unes en desssous des autres, il y aurait eu un problème de temporisation et provoquerait quelques erreurs de séquencement.

Vous devez intervenir dans le batch pour modifier le chemin (la variable d'environnement PATH) afin de mettre celui correspondant à votre MySql.

Si vous n'avez pas le même service MySql que chez moi, je vous conseille de modifier le service wampmysqld par celui qui s'éxécute chez vous !

La séquence du traitement à faire est la suivante :

--> tapez 1) pour arrêter le service.

--> tapez 2) pour lancer le service sans mot de passe.

--> tapez 3) pour modifier le mot de passe.

--> tapez à nouveau 1) pour arrêter le service.

--> modifiez votre fichier config.inc.php en introduisant votre nouveau mot de passe.

--> sous l'icône WampServer, vous cliquez sur "redémarre les services". Normalement, l'icône doit devenir verte !

--> et pour terminer, sous l'icône WampServer, vous tapez sur PhpMyAdmin pour y accéder.

Si vous avez respecter ces différentes étapes, vous êtes maintenant dans la page d'accueil de PhpMyAdmin.

Vous pouvez cliquer sur ce lien pour le script batch et sur ce lien pour le script Sql afin de récupérer cet exemple.

3-J) Blocage sur le mot de passe lors d'un premier accès à PhpMyAdmin.

Hormis la configuration du fichier config.inc.php que nous vevons de voir ci-dessus, le blocage peut aussi provenir de votre navigateur. J'ai déjà rencontré ce problème lorsque l'on change de mot de passe. Il faut savoir que le navigateur enregistre votre mot de passe afin de ne pas vous le redemander au prochain accès. Il suffit alors de supprimer l'historique de votre navigateur pour revenir à la normale.

Une autre erreur fréquente est de ne pas respecter la casse du mot de passe dans le fichier config.inc.php. Ne mettez pas des accents dans votre mot de passe qui est justement source de problème. Asssurez-vous que le fichier soit bien sauvegardé dans le bon jeu de caractères. J'utilise l'encodage 'ISO-8859-15' sur mon ordinateur personnel.

Le fichier d'origine config.inc.php est normalement configuré pour ne plus rencontrer les problèmes que l'on avait dans les anciennes versions de WampServer lors d'un premier démarrage. La seule intervention de votre part est d'introduire le nouveau mot de passe.

4) La base de données 'PMA'.

Il y a un autre message d'anomalie que vous pouvez rencontrer dans le panneau d'accueil de phpmyadmin. Il s'agit d'un avertissement sur la configuration de la base de données qui se nomme "PhpMyAdmin qui est inexistante. Voici ce message :

Le stockage de configurations phpMyAdmin n'est pas complètement configuré, certaines fonctionnalités ont été désactivée.
Pour en connaître la raison, cliquez ici.
			

Pour résoudre ce problème, il y a deux façons de procéder.

4-A) Ignorer le message d'anomalie.

C'est la solution la plus simple, qui consiste à intervenir dans le fichier config.inc.php en venant ajouter la ligne suivante :

/*----------------------------------*/
/* Removes the warning tables pmadb */
/*----------------------------------*/

$cfg['PmaNoRelation_DisableWarning'] = true;
			

Et c'est tout ! Ne pas oublier de cliquer sur "redémarrer les services".

4-B) Installer la base de données.

La manipulation est plus longue et consiste d'abord à lancer un script sous l'invite de commande pour créer cette base de données.

@echo off

@echo.
@echo "+----------------------------------+"
@echo "| Création des tables 'PhpMyAdmin' |"
@echo "+----------------------------------+"
@echo.
set PATH=F:\Wamp\bin\mysql\mysql5.6.22\bin\;%PATH%

mysql --user=root  --password=toor  --host=localhost  mysql < F:\Wamp\apps\phpmyadmin4.3.2\examples\create_tables.sql
@echo.
pause
		

En rouge, vous devez mettre votre mot de passe pour accéder à PhpMyAdmin. Ne pas oublier de mettre la bonne version de phpmyadmin que vous utilisez dans le chemin d'accès au répertoire "/exemples" qui contient le script de la création de cette base de données 'PMA'. Modifiez le chemin d'accès à votre SGBD MySql, sinon la commande MySqm ne sera pas interprété correctement.

En retournant sous PhpMyAdmin, vous verez apparaitre dans la partie de gauche la base de données créé ! Le message d'anomalie en rouge est toujours présent et c'est tout à fait normale, en ce point de notre installation.

4-C) Introduction dans le fichier config.inc.php de la base de données 'PMA'.

Pour cette exemple, je me trouve dans la version 4.3.2 de phpmyadmin. Pour une autre version, il pourra exister des différences soit dans le nom des tables, soit dans leur existences.

Vous devez introduire les lignes suivantes,

/*--------------------------------------*/
/* User used to manipulate with storage */
/*--------------------------------------*/

$cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'toor';

/*-----------------------------*/
/* Storage database and tables */
/*-----------------------------*/

$cfg['Servers'][$i]['bookmarktable']      = 'pma__bookmark';
$cfg['Servers'][$i]['central_columns']    = 'pma__central_columns';
$cfg['Servers'][$i]['column_info']        = 'pma__column_info';
$cfg['Servers'][$i]['designer_coords']    = 'pma__designer_coords';
$cfg['Servers'][$i]['favorite']           = 'pma__favorite';
$cfg['Servers'][$i]['history']            = 'pma__history';
$cfg['Servers'][$i]['navigationhiding']   = 'pma__navigationhiding';
$cfg['Servers'][$i]['pdf_pages']          = 'pma__pdf_pages';
$cfg['Servers'][$i]['pmadb']              = 'phpmyadmin';
$cfg['Servers'][$i]['recent']             = 'pma__recent';
$cfg['Servers'][$i]['relation']           = 'pma__relation';
$cfg['Servers'][$i]['table_coords']       = 'pma__table_coords';
$cfg['Servers'][$i]['table_info']         = 'pma__table_info';
$cfg['Servers'][$i]['table_uiprefs']      = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking']           = 'pma__tracking';
$cfg['Servers'][$i]['userconfig']         = 'pma__userconfig';
$cfg['Servers'][$i]['usergroups']         = 'pma__usergroups';
$cfg['Servers'][$i]['users']              = 'pma__users';
$cfg['Servers'][$i]['savedsearches']      = 'pma__savedsearches';
			

L'usage de cette base de données est associé au compte utilisateur ayant tous les droits et donc en particulier à "root". C'est le rôle des trois premières lignes ci-dessus.

Ensuite, nous devons spécifier pour chaque mot clef, le nom de la table qui est associé. Il y a un total de 19 tables. Et pour finir (ce qui est en rouge), nous déclarons comment va se nommer la base de données sous PhpMyAdmin.

Si vous n'avez pas commis d'erreurs de retranscription, normalement, après avoir cliquer sur "redémarrer les services", le message d'anomalie aura disparu.

Si le message d'anomalie persiste, je vous conseille de cliquer sur le lien qui est spécifié pour connaitre la raison à cela. Fréquemment, c'est un problème de retranscription des noms des tables dans le fichier config.ini.php qui en est la cause.

5) Exemple complet d'un fichier config.inc.php.

<?php

/**************************/
/*                        */
/*     Sphere "Rouge"     */
/*                        */
/**************************/

$cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

$i = 0;

/*******************************/
/*                             */
/*     Serveur : LocalHost     */
/*                             */
/*******************************/

$i++;

/*---------------------*/
/* Authentication type */
/*---------------------*/

$cfg['Servers'][$i]['auth_type'] = 'http';

/*-------------------*/
/* Server parameters */
/*-------------------*/

$cfg['Servers'][$i]['verbose']		= 'localhost';
$cfg['Servers'][$i]['host']		= '127.0.0.1';
$cfg['Servers'][$i]['connect_type']	= 'tcp';
$cfg['Servers'][$i]['compress']		= false;
$cfg['Servers'][$i]['user']		= 'root';
$cfg['Servers'][$i]['password']		= 'toor';

/*--------------------------------------------------*/
/* Select mysql if your server does not have mysqli */
/*--------------------------------------------------*/

$cfg['Servers'][$i]['extension']       = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

/*-------------------------------------------*/
/* phpMyAdmin configuration storage settings */
/*-------------------------------------------*/

$cfg['Servers'][$i]['hide_db'] = '(information_schema|mysql|performance_schema|phpmyadmin)';

/*--------------------------------------*/
/* User used to manipulate with storage */
/*--------------------------------------*/

$cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'root';

/*-----------------------------*/
/* Storage database and tables */
/*-----------------------------*/

$cfg['Servers'][$i]['bookmarktable']      = 'pma__bookmark';
$cfg['Servers'][$i]['central_columns']    = 'pma__central_columns';
$cfg['Servers'][$i]['column_info']        = 'pma__column_info';
$cfg['Servers'][$i]['designer_coords']    = 'pma__designer_coords';
$cfg['Servers'][$i]['favorite']           = 'pma__favorite';
$cfg['Servers'][$i]['history']            = 'pma__history';
$cfg['Servers'][$i]['navigationhiding']   = 'pma__navigationhiding';
$cfg['Servers'][$i]['pdf_pages']          = 'pma__pdf_pages';
$cfg['Servers'][$i]['pmadb']              = 'phpmyadmin';
$cfg['Servers'][$i]['recent']             = 'pma__recent';
$cfg['Servers'][$i]['relation']           = 'pma__relation';
$cfg['Servers'][$i]['table_coords']       = 'pma__table_coords';
$cfg['Servers'][$i]['table_info']         = 'pma__table_info';
$cfg['Servers'][$i]['table_uiprefs']      = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking']           = 'pma__tracking';
$cfg['Servers'][$i]['userconfig']         = 'pma__userconfig';
$cfg['Servers'][$i]['usergroups']         = 'pma__usergroups';
$cfg['Servers'][$i]['users']              = 'pma__users';
$cfg['Servers'][$i]['savedsearches']      = 'pma__savedsearches';

/*---------------------------------*/
/* Contrib / Swekey authentication */
/*---------------------------------*/

// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

/******************/
/*                */
/*     Divers     */
/*                */
/******************/

/*----------------------------------*/
/* Removes the warning tables pmadb */
/*----------------------------------*/

$cfg['PmaNoRelation_DisableWarning'] 	= true;

/*----------------------------*/
/*     Generic parameters     */
/*----------------------------*/

$cfg['AllowUserDropDatabase']		= false;
$cfg['ServerDefault']			= 1;
$cfg['ShowHint']			= true;
$cfg['VersionCheck']			= true;

/*--------------------------------------*/
/*     Setting the navigation panel     */
/*--------------------------------------*/

$cfg['NumRecentTables']			= 0;
$cfg['NumFavoriteTables']		= 0;
$cfg['NavigationDisplayServers']	= false;

/*--------------------*/
/*     Main Panel     */
/*--------------------*/

$cfg['ShowPhpInfo']			= true;

/*----------------*/
/*     Langue     */
/*----------------*/

$cfg['DefaultLang']			= 'fr';
$cfg['DefaultConnectionCollation']	= 'latin1_general_ci';

/*--------------------------------*/
/*     Customizing the design     */
/*--------------------------------*/

//$cfg['DefaultDisplay']		= 'vertical';

/*---------------------------------------------------*/
/*     Web server upload/save/import directories     */
/*---------------------------------------------------*/

$cfg['SaveDir']				= '';
$cfg['UploadDir']			= '';

?>
			

En cliquant sur ce lien vous pourrez récupérer cette exemple.

6) Conclusion.

Si vous désirez poursuivre vos investigations dans la configuration de PhpMyAdmin, je vous conseille de lire la documentation officielle !

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. mais en suivant mes explications, je pense que vous pourrez résoudre facilement cet écueil !

Si vous avez des questions, je suis prêt à m'investir pour résoudre vos problèmes !