Recientemente he necesitado cambiar la contraseña del usuario root del servicio MySQL.
Paso 1. Acceder al servidor MySQL
mysql -u root
- Saber más: Cómo acceder al servidor MySQL
Paso 2. Seleccionar la base de datos a modificar
use mysql;
Paso 3. Mostrar las tablas del sistema
show tables;
Paso 4. Debes tener una llamada “user”
describe user;
Paso 5. Cambiar la contraseña con una actualización
update user set authentication_string=password("nuevo_contraseña") where user="root";
Paso 6. Actualizar memoria con los nuevos datos
flush privileges;
Y eso es todo, si te fijas existe una tabla con la información de los usuarios, incluida la del “root”, hay un campo llamado authentication_string y en este se encuentra la contraseña de cada usuario. La contraseña se encuentra encriptada por ese motivo debes utilizar la función “password”.
Los usuarios más avanzados paran el servidor MySQL y arrancan en modo seguro:
mysqld_safe --skip-grant-tables
Yo he cambiado lo he realizado directamente y ha funcionado muy bien, eso sí, en ese momento no tenía consultas. Si el servidor está en producción te recomiendo que primero lo pares y arranques en modo seguro, el cambio son unos segundos y no pasará nada. No olvides luego parar de nuevo el servidor MySQL y arrancar en modo normal.