# MariaDB change user password : voici comment faire !

`SET PASSWORD` est une commande de MariaDB qui vous permet de changer le mot de passe d’un utilisateur existant. Vous devez changer les mots de passe dans différentes situations afin de sécuriser votre base de données.

## Quand faut-il changer le mot de passe d’un utilisateur MariaDB ?

Changer le mot de passe d’un utilisateur dans [MariaDB](https://www.ionos.fr/digitalguide/serveur/know-how/mariadb-cest-quoi/) est un élément important de la stratégie de sécurité de tout environnement de base de données. Cela doit être fait à chaque fois qu’il y a une raison concrète ou que la politique de sécurité l’impose. Dès qu’un utilisateur quitte **l’entreprise ou change de rôle**, vous devez immédiatement mettre à jour ou désactiver tous ses codes d’accès associés. De même, tout comportement suspect, comme des tentatives de connexion inhabituelles ou l’accès à des données sensibles, nécessite un changement immédiat de mot de passe.

Les mots de passe doivent également être modifiés en cas de fuite publique, qu’elle soit due à une mauvaise configuration, à un script mal envoyé ou à une entrée dans un système de contrôle de version. Dans de tels cas, un changement rapide de mot de passe protège contre tout accès non autorisé. En outre, de nombreuses normes de sécurité recommandent de **changer régulièrement les mots de passe**, par exemple tous les 90 jours. Dans les environnements critiques, cela est d’autant plus important.

Pour résumer : changez les mots de passe chaque fois qu’il y a un risque et n’attendez pas qu’un problème se produise.

## `SET PASSWORD` dans MariaDB

La commande `SET PASSWORD` permet de modifier le mot de passe des utilisateurs dans MariaDB. Si vous ne spécifiez pas de **clause `FOR`**, le changement affectera l’utilisateur actuellement connecté. Dès que vous utilisez `FOR ‘user ‘@’host’`, vous ciblez un compte spécifique. Dans ce cas, vous avez besoin du droit `UPDATE` sur la base de données `mysql`, car c’est là que MariaDB gère les informations sur les utilisateurs.

La syntaxe générale est la suivante :

```sql
SET PASSWORD FOR 'user'@'host' = PASSWORD('newpassword');
```

Dans les versions actuelles de MariaDB (à partir de 10.4), utilisez `ALTER USER` pour spécifier le mot de passe directement en texte brut :

```sql
ALTER USER 'user'@'host' IDENTIFIED BY 'newpassword';
```

La raison du passage à la nouvelle variante : l’ancienne fonction génère un hachage interne et n’est compatible qu’avec certains plugins d’authentification basés sur mot de passe, tels que `mysql_native_password`, `ed25519` ou `mysql_old_password`. D’autres plugins comme `unix_socket`, `pam`, `gssapi` ou `named_pipe` ne stockent pas de mot de passe dans la base de données ; dans ces cas, l’utilisation de `SET PASSWORD` entraîne une erreur.

## MariaDB change user password : comment faire ?

Vous pouvez changer le mot de passe d’un utilisateur directement via le client MariaDB. La connexion s’effectue via **SSH**.

Ouvrez d’abord une session SSH et connectez-vous au serveur. Pour démarrer le client **MariaDB** avec des droits d’administrateur, entrez la commande suivante :

```bash
sudo mysql
```

Après avoir saisi votre mot de passe d’utilisateur SSH, vous aurez accès à l’interface MariaDB. Là, l’environnement de la base de données vous accueille. Une invite de commande s’affiche :

```sql
MariaDB [(none)]>
```

Pour gérer les mots de passe, vous devez sélectionner la base de données qui contient les informations de l’utilisateur. Par défaut, il s’agit de la base de données `mysql` pour MariaDB. Utilisez alors :

```sql
use mysql;
```

Vous pouvez maintenant changer le mot de passe de l’utilisateur souhaité. Pour cela, entrez l’instruction suivante :

```sql
SET PASSWORD FOR 'newuser'@'host' = PASSWORD('newsecurepassword');
```

Remplacez `newuser` par le nom d’utilisateur réel et `newsecurepassword` par le nouveau mot de passe.

Si la modification est réussie, MariaDB confirme l’ajustement en affichant un message.

Une fois les modifications terminées, quittez le client MariaDB en saisissant :

```sql
exit
```

Vous revenez ainsi à la console de serveur normale.

Si vous gérez des utilisateurs qui se connectent avec un mot de passe, `SET PASSWORD` reste un outil utile. Il vous permet de réagir rapidement aux incidents de sécurité, d’appliquer de nouveaux mots de passe ou de garantir un accès sécurisé après un changement de rôle.


This is a markdown version of: [https://www.ionos.fr/digitalguide/hebergement/aspects-techniques/mariadb-change-user-password/](https://www.ionos.fr/digitalguide/hebergement/aspects-techniques/mariadb-change-user-password/) for AI/LLM consumption.