Fui mordido várias vezes pelo usuário 'debian-sys-maint' que é instalado por padrão nos pacotes mysql-server instalados nos repositórios do Ubuntu.
Geralmente, o que acontece é que eu puxo uma cópia nova do nosso banco de dados de produção (que não está sendo executado no Debian / Ubuntu) para solucionar problemas ou novo desenvolvimento e esqueço de excluir a tabela mysql.user, perdendo o usuário debian-sys-maint.
Se adicionarmos novos usuários mysql por qualquer motivo, eu tenho que 'mesclá-los' no meu ambiente de desenvolvimento, em vez de apenas sobrepor a tabela.
Sem o usuário, meu sistema ainda parece funcional, mas atormentado por erros como:
sudo /etc/init.d/mysql restart
Stopping MySQL database server: mysqld...failed.
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
- Para que é utilizado o debian-sys-maint?
- Existe uma maneira melhor para os mantenedores de pacotes fazerem o que estão tentando fazer?
- Qual é a maneira mais fácil de restaurá-lo depois que eu o perdi?
- Qual é o conjunto correto / mínimo de privilégios para esse usuário?
- Parece uma má idéia "conceder todos os privilégios em *. * ..."
Editar
Pergunta adicional - A senha em /etc/mysql/debian.cnf já está com hash ou é a senha em texto sem formatação? É importante quando você recriar o usuário e eu nunca pareço acertar na primeira tentativa.
obrigado