Reiniciar la contraseña de root en MySQL

a veces me ha sucedido que tras tanto tiempo si acceder a MySQL se me olvida la contraseña y si no le puse la standar que uso siempre me demoro mucho para descubrir cual habia puesto, para quienes les sucede esto, aqui una solucion:


El problema que tengo es que cuando necesito crear una base de datos para un uso específico (Joomla, Moodle, etc.), creo un usuario para esa base de datos únicamente con los permisos necesarios. Por eso, como no suelo usar el usuario root, cuando me quiero acordar, se me ha olvidado.


Afortunadamente no nada complicado reiniciar la contraseña de root en MySQL y, aunque en el Manual de Referencia de MySQL está explicado el procedimiento, lo vamos a hacer al estilo Slice of Linux: paso a paso y con capturas para no perdernos.


Los pasos para reiniciar la contraseña de root en MySQL son los siguientes:


Detenemos MySQL con el comando:

# /etc/init.d/mysqld stop


A continuación, iniciamos MySQL con la opción skip-grant-tables para que no nos pida la contraseña. ¡Ojo! Esto es peligroso porque cualquiera podrá entrar a MySQL como usuario root y sin contraseña hasta que ejecutemos el comando FLUSH PRIVILEGES en el paso 5.

# mysqld --skip-grant-tables &


Accedemos a MySQL con el usuario root. Si el paso anterior se hizo sin problemas, ahora no nos pedirá la contraseña.

$ mysql -u root


Con el siguiente comando establecemos una nueva contraseña. Cambianuevaclave por la nueva contraseña que quieras ponerle al usuario root de MySQL.

UPDATE mysql.user SET Password=PASSWORD('nuevaclave') WHERE User='root';


Por último, le indicamos a MySQL que recargue las tablas de permisos con el comando:

FLUSH PRIVILEGES;


Salimos de MySQL:

$ quit


Fuente: Slice of Linux de &rés