Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
mariadb [Le 20/06/2018, 21:49] krodelabestiole [Installation] + sudo apt install (techno serveur) |
mariadb [Le 14/07/2018, 12:05] krodelabestiole [auth_socket s'appelle unix_socket sous MariaDB] |
||
---|---|---|---|
Ligne 38: | Ligne 38: | ||
</code> | </code> | ||
- | Donc si vous entendez parler de l'un ou de l'autre de ces plugins, il s'agit du même comportement (qui permet d'utiliser le système d'authentification des utilisateurs Ubuntu, plutôt que des couples identifiants / mots de passe spécifique à MySQL). | + | Donc si vous entendez parler de l'un ou de l'autre de ces plugins, il s'agit du même comportement (qui permet d'utiliser le système d'authentification des utilisateurs Ubuntu, plutôt que des couples identifiants / mots de passe spécifiques à MySQL). |
- | Quelques commandes sont à adapter dans la section //[[mysql#utilisateurs]]//. | + | Voir en particulier la section //[[#utilisateurs]]// adaptée ci-dessous. |
==== unix_socket par défaut pour root dès Xenial ==== | ==== unix_socket par défaut pour root dès Xenial ==== | ||
Ligne 54: | Ligne 54: | ||
Cela n'a pas un gros impact, et les commandes pour gérer les utilisateurs restent globalement les mêmes, mais pour [[:mysql#lister_les_utilisateurs|lister les utilisateurs existants]] en affichant leurs méthodes d'authentification on utilisera plutôt : | Cela n'a pas un gros impact, et les commandes pour gérer les utilisateurs restent globalement les mêmes, mais pour [[:mysql#lister_les_utilisateurs|lister les utilisateurs existants]] en affichant leurs méthodes d'authentification on utilisera plutôt : | ||
<code mysql>SELECT user, host, plugin, password FROM mysql.user;</code> | <code mysql>SELECT user, host, plugin, password FROM mysql.user;</code> | ||
+ | |||
+ | ==== Utilisateurs ==== | ||
+ | |||
+ | La gestion des utilisateurs est pour le moment assez différente sur MariaDB et sur MySQL. La gestion des algorithmes de chiffrement n'étant pas similaire, certaines commandes de la section [[:mysql#utilisateurs]] retourneront actuellement une erreur de syntaxe sur MariaDB. Voici des variantes fonctionnelles pour MariaDB. | ||
+ | |||
+ | === Lister les utilisateurs === | ||
+ | |||
+ | Vous pouvez lister les utilisateurs ainsi que leurs [[#authentification|méthodes d'authentification]] avec la requête suivante : | ||
+ | <code mysql> | ||
+ | SELECT user, host, plugin, password FROM mysql.user; | ||
+ | </code> | ||
+ | |||
+ | === Créer un utilisateur === | ||
+ | |||
+ | Pour créer un utilisateur MySQL identifié au moyen d'un mot de passe : | ||
+ | <code mysql> | ||
+ | CREATE USER 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide'; | ||
+ | </code> | ||
+ | |||
+ | Pour créer un accès MySQL à un utilisateur Ubuntu : | ||
+ | <code mysql> | ||
+ | CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED WITH unix_socket; | ||
+ | </code> | ||
+ | |||
+ | === Modifier l'accès d'un utilisateur === | ||
+ | |||
+ | Pour modifier l'accès d'un utilisateur MySQL existant, et l'identifier par mot de passe : | ||
+ | <code mysql> | ||
+ | SET PASSWORD FOR 'nom_utilisateur'@'localhost' = PASSWORD('mot_de_passe_solide'); | ||
+ | </code> | ||
+ | Les requêtes suivantes sont nécessaires si on change la [[:mysql#authentification|méthode d'authentification]] : | ||
+ | <code mysql> | ||
+ | UPDATE mysql.user SET plugin = '' WHERE user = 'nom_utilisateur' AND host = 'localhost'; | ||
+ | FLUSH PRIVILEGES; | ||
+ | </code> | ||
+ | |||
+ | Pour lier un compte MySQL existant à un utilisateur Ubuntu (il faut que les noms d'utilisateur soient les mêmes) : | ||
+ | <code mysql> | ||
+ | UPDATE mysql.user SET plugin = 'unix_socket', password = '' WHERE user = 'nom_utilisateur' AND host = 'localhost'; | ||
+ | FLUSH PRIVILEGES; | ||
+ | </code> | ||
+ | |||
+ | === Supprimer un utilisateur === | ||
+ | |||
+ | Pour supprimer un utilisateur : | ||
+ | <code mysql> | ||
+ | DROP USER 'nom_utilisateur'@'localhost'; | ||
+ | </code> | ||
==== UTF-8 par défaut partout ==== | ==== UTF-8 par défaut partout ==== |