Si por cualquier razón hemos perdido el password del usuario root de mysql, podemos restablecerlo. La única condición para poder modificar el password del usuario root es tener acceso root desde la consola linux.

En caso de no tener acceso root al servidor, va a ser imposible modificar el password de root del mysql de forma sencilla. Deberemos arrancar la máquina en modo rescate y  recuperar el acceso al sistema como root.

Si estamos en disposición de acceder al servidor desde la consola con el usuario root, simplemente debemos ejecutar los siguientes comandos para modificar el password de root de mysql:

Paso 1: Parar el servicio de mysql:

service mysql stop

[ ok ] Stopping MySQL database server: mysqld.

Paso 2: Iniciamos el servicio mysql en modo Seguro:

mysqld_safe –skip-grant-tables &
160211 14:32:21 mysqld_safe Logging to syslog.
160211 14:32:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Paso 3: Entramos a mysql sin necesidad de password, porque estamos en modo seguro:

mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.5.47-0+deb7u1 (Debian)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

 

Paso 4: Cambiamos la database a mysql:

use mysql

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Paso 5: Modificamos el password de root:

update user set password=PASSWORD(“nuevopass”) where user=’root’;

Query OK, 0 rows affected (0.00 sec)
Rows matched: 4 Changed: 0 Warnings: 0

Paso 6: Propagamos privilegios:

flush privileges;
Query OK, 0 rows affected (0.00 sec)

Paso 7: Salimos de mysql:

quit;

Paso 8: Reiniciamos msyql:

service mysql restart

Paso 9: Verificamos que el nuevo password funciona correctamente:

mysql -uroot -pnuevopass