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 🙂
Table des matières
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