Como alterar a senha do usuário root do MySQL pelo terminal

Eu conheço outro administrador que esqueceu a senha do root do MySQL, isso pode ser um verdadeiro transtorno, certo?

Imagine que você precisa criar um novo banco de dados, fazer qualquer coisa e não pode porque não consegue lembrar a senha do administrador (root) do servidor MySQL, um problema real.

Aqui vou mostrar como acessar o servidor MySQL através do terminal SEM definir a senha do root, para que uma vez dentro você possa alterar a senha do root.

Artigo relacionado:
Verifique as tabelas de um banco de dados MySQL e repare os dados corrompidos

A primeira coisa será interromper o serviço mysql:

Os dois comandos a seguir devem ser executados com privilégios administrativos, seja configurando sudo no início do comando ou executando-os diretamente como raiz

service mysql stop

Isso interrompeu o serviço, agora vamos iniciá-lo mas de uma forma diferente, uma forma que não nos pedirá uma senha mais tarde:

mysqld_safe --skip-grant-tables &

Pronto, agora vamos acessar o terminal MySQL:

mysql -u root

Eles verão que não foi solicitada uma senha, eles verão que já entraram no console ou terminal do MySQL e podem fazer o que quiserem, vamos prosseguir para alterar a senha de root do MySQL.

Primeiro, entraremos no banco de dados MySQL como tal:

use mysql;

Então, vamos mudar a senha:

update user set password=PASSWORD("ElNuevoPassword") where user='root';

Agora vamos atualizar os privilégios:

flush privileges;

E finalmente saímos:

quit;

Pronto, alteramos a senha do usuário root do MySQL, agora vamos parar o serviço e iniciá-lo como deveria ser:

service mysql stop

service mysql start

final

Isso é tudo, eles recuperaram o controle de seu próprio servidor MySQL