Il y a moyen de sécuriser assez rapidement et simplement des bases de données MySQL à l’aide de l’utilitaire PhpMyAdmin. Nous procéderons en quelques petites étapes très simples.
PhpMyAdmin
Tout d’abord, si ce n’est déjà fait, téléchargez et installez PhpMyAdmin quelque part dans la racine de votre serveur web et décompressez-le à cet endroit.

Renommez ensuite le dossier créé en utilisant le mot que vous voudrez car pour atteindre phpmyadmin, vous devrez inscrire l’adresse de votre serveur sous la forme http://lenomdevotre.serveur/ledossierouestphpmyadmin . C’est souvent plus facile d’abréger et d’utiliser sql par exemple comme nom de dossier.
On ferme la porte aux inconnus !
On commencera ensuite par empêcher tout le monde d’entrer sur MySQL comme dans un moulin ! En effet, lors de l’installation initiale de MySQL, un usager root est créé (différent du root de Linux) et cet usager a tous les droits et n’a pas de mot de passe. Il faut vite changer ça !!!

Dans la page d’accueil de PhpMyAdmin, on clique sur "Utilisateurs et privilèges".

Le premier utilisateur "Tout serveur" "Aucun mot de passe" n’a aucun privilège. C’est ce qu’on veut.
Il faudrait tout de suite mettre un mot de passe à l’usager root qui a tous les privilèges SQL. Avant, on va enlever les usagers inutiles (ceux sur lesquels j’ai mis un gros X rouge). Il suffit de cliquer sur "Effacer". On va même vous demander une confirmation :

Ils sont gentils, non ? ;-) Ensuite, plus qu’à cliquer sur "Modifier" à l’utilisateur root pour lui ajouter un mot de passe, comme dans la saisie d’écran ci-dessous. Il faut toujours cliquer "Exécuter" juste en-dessous des changements que l’on a fait.

On peut ensuite cliquer sur "Retour" et "Recharger MySQL" pour que les changements prennent effet. Ça devrait nous donner ce genre de résultat :

Normal, car PhpMyAdmin s’installe en mode "config" qui ne nécessite pas de code ni de mot de passe. Il faudra aller faire une petite modification dans le fichier config.inc.php situé dans le dossier de PhpMyAdmin. Il faut modifier la variable $cfg_auth_type pour la placer à "cookie" au lieu de "config". Il faut donc modifier le fichier config.inc.php situé dans le dossier de PhpMyAdmin.

NB : Depuis la version 2.5.3, il faut également compléter une ligne qui va permettre l’encryption du mot de passe dans le cookie à l’aide d’une "passphrase" si vous utilisez le mode ’cookie’ Voici un exemple avec la passphrase "abcd" : [1]
/**
* The 'cookie' auth_type uses blowfish algorithm to encrypt the password.
* If at least one server configuration uses 'cookie' auth_type,
* enter here a passphrase that will be used by blowfish.
*/
$cfg['blowfish_secret'] = 'abcd';
Ensuite, tout est prêt. On n’a qu’à recharger la page, et on nous demande notre nom d’utilisateur et notre mot de passe. Tous les usagers de MySQL pourront utiliser ce PhpMyAdmin et n’auront accès qu’à la ou les bases de données sur lesquelles ils ont des droits.
Pour donner une base de données à un utilisateur, on devra alors dans l’ordre
Entrer avec le code root dans phpmyadmin
Créer la base de données pour l’utilisateur
Aller via l’accueil dans "Utilisateurs et privilèges"
Créer un nouvel usager pour le serveur localhost avec aucun privilège (car ces privilèges sont pour TOUTES les bases de données)
Recharger MySQL
Cliquer sur "Autres privilèges" pour l’utilisateur en question
Donner les privilèges voulus sur la base de données ou les tables désirées.
Bon MySQL !!!

