Eu uso o MySQL versão 8.0.34 em um servidor Debian. Com a atualização mais recente, recebo a mensagem de que mysql_native_password está obsoleto e devo usar caching_sha2_password. Com meus próprios usuários isso não é problema, aqui posso simplesmente alterar o plugin de autenticação.
ALTER USER user
IDENTIFIED WITH caching_sha2_password
BY 'password';
Mas e os usuários integrados mysql.sys, mysql.session e debian-sys-maint? Eu não os criei, eles não se destinam ao login do usuário e, portanto, não tenho uma senha para eles. Como posso mudar para caching_sha2_password aqui?
ALTER USER user
IDENTIFIED WITH caching_sha2_password;
A omissão da senha na instrução SQL resulta apenas em erros.
Obrigado
Provavelmente você encontrou esta mensagem de erro em seus registros:
[MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
Se você alterou o método de autenticação para seus usuários existentes, a mensagem já deveria ter desaparecido (usuários internos não são relatados por usarem o método antigo).
O método para usuários integrados -
mysql.session
oumysql.sys
-mysql.infoschema
será alterado pelo instalador quando o recurso for finalmente removido. Você não deve alterar a senha desses usuários.Se desejar, você pode atualizar facilmente o método de autenticação para
debian-sys-maint
:/etc/mysql/debian.cnf
(procurepassword = ...
)ALTER USER 'debian-sys-maint'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your-password-here';
(Também pode ser tratado pelo instalador do MySQL posteriormente, mas como a senha já é conhecida, não há risco de fazê-lo manualmente).