# KB-Docker - Changer MDP root container MySQL

<p class="callout info">Applicable à : Docker sur Linux</p>

### <span style="text-decoration: underline;">Symptôme(s)</span>

Le mot de passe root du container n'est plus accessible ou ne fonctionne plus.

---

### <span style="text-decoration: underline;">Problème</span>

Celui-ci à été perdu ou changé.

---

### <span style="text-decoration: underline;">Solution</span>

<p class="callout danger">Prérequis : accès à la console du container via portainer ou docker exec.</p>

Si monté par stack de service.

Ajouter dans le fichier compose du stack pour le service mysql :

```yaml
command :
 - "--skip-grant-tables"
```

et regénérer le stack.

Se connecter dans le container Mysql en console.

Exécuter la commande :

```
mysql -uroot
```

Une fois dans la console SQL :

```mssql
USE mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '<nouveaupass>';
```

Vérifier l'application du nouveau mot de passe avec :

```
Select Host,User,authentication_chain FROM user WHERE User = 'root' AND Host = 'localhost';
```

Fermer le container, enlever les lignes du fichier du stack, regénérer le stack.

---

### <span style="text-decoration: underline;">Sources</span>

<span style="background-color: rgb(251,238,184);">  
</span>

**[Change mysql password in Docker container - Stack Overflow](https://stackoverflow.com/questions/48249912/change-mysql-password-in-docker-container)**