De vez en cuando se ha dado el caso que llegas a una situación en la que no sabes la contraseña del usuario admin o root de MySQL. Para ello necesitamos mínimamente tener acceso al usuario ‘root’ de Linux y seguir los siguientes pasos:
Detenemos el servicio de MySQL:
# service mysqld stop
Iniciamos en modo abierto:
# mysqld_safe --skip-grant-tables --skip-networking
Nota aclaratoria: La opción –skip-grant-tables hace que el servidor no use el sistema de privilegios. Por lo que da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos. Solamente funciona si MySQL fue configurado y compilado con la opción ‘–disable-grant-options’
Finalmente con –skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir trabajaríamos en local.
Después, accedemos a la consola de mysql y no nos preguntará contraseña ninguna:
# mysql -u root
o bién
# mysql -u admin
Usamos la base de datos del sistema MySQL:
mysql> use mysql;
Actualizamos el campo que cambiará la contraseña de ‘root’ o ‘admin’:
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
o bién
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='admin'; Query OK, 1 rows affected (0.07 sec) Rows matched: 1 Changed: 1 Warnings: 0
Salimos de la consola de MySQL y reiniciamos el servidor y ya estaría cambiada la contraseña:
mysql> exit # service mysqld restart
Nota muy importante: Si utilizas el panel de Plesk, recuerda que a partir de la versión 9, la contraseña está encriptada. Por lo que si deseas cambiarla tiene que encriptarla de nuevo utilizando el algoritmo correspondiente.