Tenho uma mysql.user
tabela com este conteúdo:
select host, user, password from user;
| localhost | root | *75267AEB7355CEEE80EAB92D19FF50095AD9BB3E |
| linux | root | |
| localhost | | |
| linux | | |
É seguro remover as últimas 3 linhas? já que nunca entro no banco de dados sem senha? ou esses são usuários padrão do MySQL no Windows que não devem ser excluídos?
Isenção de responsabilidade: se você tiver dados importantes em seu servidor, faça backup antes de executar qualquer uma dessas operações. Não testei exaustivamente minha solução.
Para responder a isso, fiz o seguinte no Windows e no Linux
(o exemplo mostrado é para Linux)
Conectado - selecionado na tabela de usuários.
Excluídos todos os usuários, exceto o root com senha.
Deslogou e logou novamente.
Verifiquei se eu poderia executar várias operações - todas funcionaram (mais do que o mostrado - por exemplo, criar tabela).
Portanto, a resposta à sua pergunta é que sim, você pode fazer o que pede.
Mas, eu também diria que fazer login como root regularmente é uma prática ruim (se seus dados forem importantes). Se for um servidor de desenvolvimento/teste, isso não é um problema.
Operações Realizadas.
Então eu fiz (excluindo todos os registros, exceto o primeiro).
E o que eu selecionei da tabela do usuário.
Saiu e logou novamente.
Portanto, ainda posso selecionar - mas posso realizar outras operações?