Às vezes um administrador de sistema precisa trocar a senha de root do MySQL pela linha de comando, não importam as razões.

Minha maneira favorita consiste nos dois passos abaixo.

Passo 1: reiniciar o MySQL sem considerar as permissões

Primeiro a gente para o MySQL e o reinicia desconsiderando todas as permissões, depois entra no MySQ como root:

service mysql stop  
mysqld --skip-grant-tables &  
mysql -u root mysql  

Passo 2: trocar a senha

Agora é só trocar a senha do MySQL executando a sequência abaixo (sendo que SENHA deve ser a sua senha desejada):

UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';  
FLUSH PRIVILEGES;  
exit;  

Passo 3: reiniciar o serviço

killall -9 mysqld  
service mysql restart  

Naturalmente, você deverá ter privilégios de root para executar estes passos.