Perdeu a senha do root de seu servidor MariaDB ou MySQL? Não se desespere, é muito simples recuperá-la. Vou apresentar-lhes uma passo-a-passo com apenas 5 passagens, e sua senha estará recuperada, veja:
1) Baixe o servidor mysqld
ps -ef | grep mysqld
KILL -9
KILL -9
2) Suba o servidor mysqld com as opções abaixo:
mysqld_safe –skip-grant-tables –skip-networking &
–skip-grant-tables: o servidor deixará de validar usuário e senha (grant tables = tabelas de privilégios)
–skip-networking: uma vez que o servidor irá aceitar qq usuário e senha, faz sentido, funcionar somente local
3) Acesse o console do mysql/mariadb
mysql
não precisa mencionar usuário e senha, pois, o servidor autenticará qq coisa que for passado a ele como usuário e senha
4) Troque a senha do root
UPDATE mysql.user SET password = PASSWORD(‘123’) WHERE user = ‘root’;
FLUSH PRIVILEGES;
Ao fazer este update direto na tabela de usuários, colocaremos a senha do root igual a 123. PASSWORD em maiúsculo é uma função do MySQL que converte a string ‘123’ em uma string criptografada. O flush privileges se faz necessário para que a nova senha passe a ter efeito imediato.
5) Baixar e Subir o servidor novamente
Agora, voce pode baixar o servidor normalmente, uma vez que a senha é conhecida.
Atenção! Algumas pessoas podem dizer que isto é uma grave falha de segurança. Não é verdade. Salvo se a instalação do servidor não foi devidamente protegida. Para baixar e subir o servidor mysqld (com a opção que desabilita a autenticação) é preciso ter privilégio para tal. Se o usuário que conseguiu acesso ao sistema operacional do servidor, e, este usuário tem privilégio para derrubar o processo do servidor de banco de dados da empresa, e, também subí-lo, acreditem, nossa menor preocupação é ele conseguir subir o servidor mysqld sem autenticação. É mais ou menos como dar acesso ao bandido para que ele entre no cofre principal, e, achar que uma vez lá dentro ele não irá arrombar as gavetas dos clientes.