Você deseja trocar a senha de um usuário do MySQL que está sendo utilizado por uma aplicação e não sofrer nenhum downtime? Bom, a versão 8.0.14 do MySQL foi liberada com uma feature chamada Dual Password Support, com esta feature você pode alterar a senha de um usuário mantendo a anterior ainda funcionando como uma forma de "backup". Desta forma, você ainda conseguirá autenticar com o usuário utilizando tanto a nova senha, quanto a anterior. Com isto, o seu processo de troca de senha fica algo como:

1) Troque a senha mantendo a anterior;

2) Faça o Deploy da nova configuração na sua aplicação/cluster;

3) Descarte a senha anterior.

Para alterar a senha mantendo a anterior, você deve rodar o seguinte comando:

ALTER USER 'appuser'@'localhost' IDENTIFIED BY 'new_password' RETAIN CURRENT PASSWORD;

Para descartar a senha antiga, rode o seguinte:

ALTER USER 'appuser'@'localhost' DISCARD OLD PASSWORD;

E pronto. Espero que isto lhe ajude a evitar downtimes e dores de cabeça :)


Traduções: