syntaxe
SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }
Description
l’instructionSET PASSWORD
attribue un mot de passe à un compte utilisateur MariaDB existant.
Si le mot de passe est spécifié à l’aide de la fonctionPASSWORD()
ouOLD_PASSWORD()
, le texte littéral du mot de passe doit être donné. Si thepassword est spécifié sans utiliser l’une ou l’autre fonction, le mot de passe doit être la valeur de mot de passe déjà cryptée renvoyée parPASSWORD()
.,
OLD_PASSWORD()
ne doit être utilisé que si vos clients MariaDB/MySQL sont très anciens (< 4.0.0).
Sans la clauseFOR
, cette instruction définit le mot de passe pour currentuser. Tout client qui s’est connecté au serveur à l’aide d’un compte non anonymousaccount peut modifier le mot de passe de ce compte.
avec une clauseFOR
, cette instruction définit le mot de passe pour un specificaccount sur l’hôte du serveur actuel., Seuls les clients qui ont le privilègeUPDATE
pour la base de donnéesmysql
peuvent le faire. La valeur utilisateur doit être donnée au format user_name@host_name
, où user_name
Et host_name
sontexactement tels qu’ils sont répertoriés dans les colonnes utilisateur et hôte dumysql.user
entrée de table.
l’argument de PASSWORD()
et le mot de passe donné aux clients MariaDB peuvent être de longueur arbitraire.
prise en charge du Plugin D’authentification
MariaDB commençant par 10.,4
dans MariaDB 10.4 et versions ultérieures,SET PASSWORD
(avec ou sansPASSWORD()
) fonctionne pour les comptes authentifiés via tout plugin d’authentification prenant en charge les mots de passe stockés dans la tablemysql.global_priv
.
Le ed25519
, mysql_native_password
et mysql_old_password
authentification plugins stocker les mots de passe dans le mysql.global_priv
tableau.,
Si vous exécutezSET PASSWORD
sur un compte qui s’authentifie avec l’un de ces plugins d’authentification qui stocke les mots de passe dans la tablemysql.global_priv
, alors la fonctionPASSWORD()
est évaluée par le plugin d’authentification spécifique Le plugin d’authentification hachera le mot de passe avec une méthode compatible avec ce plugin d’authentification spécifique.,
Le unix_socket
, named_pipe
, gssapi
et pam
authentification plugins ne pas stocker les mots de passe dans le mysql.global_priv
tableau. Ces plugins d’authentification s’appuient sur d’autres méthodes pour authentifier l’utilisateur.,
Si vous essayez d’exécuterSET PASSWORD
sur un compte qui s’authentifie avec l’un de ces plugins d’authentification qui ne stocke pas de mot de passe dans la tablemysql.global_priv
, alors MariaDB Server déclenchera un avertissement comme suit:
SET PASSWORD is ignored for users authenticating via unix_socket plugin
0.4 pour un aperçu des modifications d’authentification dans MariaDB 10.4.
MariaDB jusqu’à 10.3
Dans MariaDB 10.,3 et avant, SET PASSWORD
(avec ou sans PASSWORD()
) ne fonctionne que pour les comptes authentifiés via mysql_native_password
ou mysql_old_password
plugins d’authentification
utilisateur sans mot de passe comptes
les comptes utilisateurs n’ont pas toujours besoin de mots de passe pour se connecter.
Le unix_socket
, named_pipe
et gssapi
authentification plugins ne pas exiger un mot de passe pour authentifier l’utilisateur.,
le plugin d’authentificationpam
peut ou non nécessiter un mot de passe pour authentifier l’utilisateur, selon la configuration spécifique.
les plugins d’authentificationmysql_native_password
Etmysql_old_password
nécessitent des mots de passe pour l’authentification, mais le mot de passe peut être vide. Dans ce cas, aucun mot de passe n’est requis.
Si vous fournissez un mot de passe lors d’une tentative de connexion au serveur en tant que compte ne nécessitant pas de mot de passe, MariaDB server ignorera simplement le mot de passe.
MariaDB commençant par 10.,4
dans MariaDB 10.4 et versions ultérieures, un compte utilisateur peut être défini pour utiliser plusieurs plugins d’authentification dans un ordre de préférence spécifique. Ce scénario spécifique peut être plus visible dans ces versions, car un compte peut être associé à certains plugins d’authentification nécessitant un mot de passe, et d’autres non.
Exemple
Par exemple, si vous avez eu une entrée de l’Utilisateur andHost colonne de valeurs de ‘bob
‘ et ‘%.loc.,gov
‘, vous écririez thestatement comme ceci:
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
Si vous voulez supprimer un mot de passe pour un utilisateur, vous feriez:
SET PASSWORD FOR 'bob'@localhost = PASSWORD("");
Voir aussi
- Password Validation Plugins – permet de définir des critères de base pour les mots de passe
- iv si vous avez un problème, vous pouvez le faire.
Laisser un commentaire