1. Parando o banco de dados MySQL
Inicialmente será necessário parar o servidor do banco de dados para poder alterar a senha root através do seguinte comando:
# /etc/init.d/mysql stop
Uma vez com o banco de dados parado podemos acessá-lo para redefinição de senha.
2. Reiniciando servidor sem fase de autenticação
Ao carregar o servidor MySQL sem determinadas tabelas de controle de permissão permitirá que você acesse a linha de comando do banco de dados com privilégios de root, mesmo sem fornecer senha.
Inicie o servidor MySQL com o comando abaixo:
# mysqld_safe --skip-grant-tables --skip-networking &
–skip-grant-tables: não carrega as tabelas de permissões que armazenam informações de privilégios dos usuários.
–skip-networking: devido ao parâmetro anterior, por segurança, também deve ser desativado a conexão pela internet evitando que outros se conectem ou pessoas mal-intencionadas.
&: o “e” no final é para que o processo seja executado em segundo plano, assim você pode continuar a usar o terminal.
Agora você poderá efetuar o login ao MySQL com acesso root mesmo sem senha:
# mysql -u root
3. Redefinir senha do administrador
Uma vez realizado os passos anteriores, ou caso você deseje apenas alterar sua senha root, conecte-se ao banco de dados MySQL com o comando abaixo:
Substitua a palavra “SENHA_SAN” por uma nova senha, e lembre de manter as aspas simples entre a senha:
use mysql; UPDATE user SET Password=PASSWORD('SENHA_SAN') WHERE User='root'; FLUSH PRIVILEGES; exit;
Será apresentado uma confirmação de que o comando acima foi executado com sucesso.
4. Reiniciando banco de dados MySQL
Rode o comando para iniciar o servidor:
# /etc/init.d/mysql restart
Para confirmar os passos anteriores e validar a senha, execute o comando:
# mysql -u root mysql -p
Esse comando irá solicitar a senha, devendo você informar a senha recém configurada.
Saiba mais na documentação oficial do MySQL: https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html