Jusqu’à présent on pouvait définir le mot de passe root à l’installation du serveur MySQL (ou MariaDB)
Il était donc simple ensuite de passe par une interface phpMyAdmin par la suite pour créer les autres utilisateurs
Or depuis quelques temps, l’installation de MariaDB n’inclue pas de création d’un compte root utilisable sur phpMyAdmin, il faut donc se débrouiller autrement

Comment créer le premier utilisateur sur MariaDB?
Lors de la première installation de MariaDB sur votre serveur, un compte root est bien créé, mais sans mot de passe. Il est accessible uniquement depuis la console
Il faut donc passer par la console MySQL pour activer le compte root, ou plutôt créer un nouveau super-utilisateur

J’ai beau faire ces commandes très régulièrement, je ne m’en souviens jamais par cœur, je vais donc les écrire ici, et vous en faire profiter au passage 🙂

Etat des lieux

Une fois MariaDB installé, vous aurez beau ajouter phpMyAdmin pour administrateur votre serveur MySQL, il sera impossible de s’y connecter
En effet par défaut, l’utilisateur root est désormais créer sans mot de passe et avec le plugin de connexion « unix_socket »
C’est à dire que le compte est utilisable uniquement  depuis la console (en SSH par exemple)

Pour accéder à la console MySQL, tapez simplement la commande suivante:

mysql

Vous serez connecté automatiquement avec root, inutile de rajouter des paramètres

Reste à savoir quoi faire une fois dans cette console, c’est ce que je vais vous expliquez maintenant

Deux solutions

Une fois connecté avec root dans la console, vous avez globalement deux solutions:

  • Créer un nouvel utilisateur et lui donner tous les privilèges.
    Vous pourrez ainsi vous connecter à phpMyAdmin avec ce compte, et créer tous les utilisateurs nécessaires
  • Redéfinir le compte root pour qu’il utilise la méthode classique de connexion, et qu’il soit de ce fait utilisable dans phpMyAdmin

Création d’un nouvel utilisateur avec tous les privilèges

Voyons tout d’abord la procédure de création d’un nouvel utilisateur MySQL:

  • Connectez vous à la console MySQL
    mysql
  • Créer le nouvel utilisateur
    CREATE USER 'utilisateur' IDENTIFIED BY 'motdepasse';

    En remplaçant bien sur par vos valeurs
    Il est conseillé d’utiliser un mot de passe dans le cas d’un compte super-utilisateur

  • Ajouter lui tous les privilèges
    GRANT USAGE ON *.* TO 'utilsateur'@localhost IDENTIFIED BY 'motdepasse';

    Remplacez localhost par ‘%’ si vous avez besoin de vous connecter à ce serveur MariaDB à distance

  • Appliquer les modifications
    FLUSH PRIVILEGES;
  • Quitter
    quit

Vous pouvez désormais vous connecter à phpMyAdmin ou à toute application de votre choix avec utilisateur / motdepasse

Ajout d’un mot de passe pour root

Je ne vous conseille pas forcément de le faire, il sera toujours plus sécuriser d’utiliser un compte original pour l’administration plutôt que root ou admin

Mais si vous le souhaitez vraiment, la procédure est pratiquement la même:

  • Connectez vous à MySQL
    mysql
  • Activez la connexion à localhost pour root
    GRANT USAGE ON *.* TO 'root'@localhost IDENTIFIED BY 'motdepasse';

    Même chose, remplacer localhost par ‘%’ pour autoriser la connexion distante

  • Appliquez les changements
    FLUSH PRIVILEGES;
  • Quittez
    quit

Le compte root est désormais actif, et utilisable comme avant dans phpMyAdmin ou n’importe quel script ou page web

Conclusion

Et voila pour ce bref article, je ne rentre volontairement pas plus dans le détail afin de garder l’accès facile aux commandes importantes

Si vous êtes intéressés par d’autres astuces de ce genre sur MySQL ou autre, n’hésitez pas à demander en commentaire

 

A lire également