Recuperando el acceso al usuario root de MySQL en Ubuntu 22.04
¡Ayuda! ¡No encuentro la contraseña root de mi base de datos! Esta fue la forma en la que recibí la llamada de auxilio por parte de un colega que necesitaba acceder a su base de datos de producción. Si bien el servicio se encontraba en línea, se necesitaba el acceso para aprovisionar un nuevo servicio.
Esta es una historia que puede repetirse una y otra vez en cualquier departamento de TI si no se dispone de un proceso estándar para almacenar las contraseñas sensibles del negocio. En lo personal, recomiendo el gestor de contraseñas como 1Password (No tengo ninguna afiliación con ellos, por ahora y bienvenidos 😅, pero es el gestor en el que más confío por diversas razones que describiré en otro futuro artículo) para gestionar y almacenar de manera segura nuestras llaves de acceso a todos nuestros servicios digitales.
En este escenario tuve que asistir en la restauración de la contraseña del usuario root del servicio de MySQL 8.0 en un servidor Ubuntu 22.04. Para ello, requerí de acceso root al servidor para disponer de los permisos necesarios para la tarea.
Procedimiento para la recuperación
Para restaurar una contraseña de un usuario root de una base de datos MySQL, realizamos los siguientes pasos:
-
Iniciamos sesión como usuario root del servidor donde deseamos recuperar el acceso del servicio de MySQL.
-
Validar que la instalación creara el archivo
debian.cnf
. Puedes validar si el archivo existe utilizando el siguiente comando:
test -f "/etc/mysql/debian.cnf" && echo true || echo false
Si el comando retorna "true", este tutorial funcionará para ti. Este archivo es una configuración exclusiva de la instalación de MySQL si el servicio fue instalado con el manejador de paquetes de Ubuntu (apt o apt-get).
-
Si dispones del archivo anterior, podrás conectarte con acceso administrativo al servicio de MySQL. Para esto debes ejecutar el siguiente comando:
mysql --defaults-file=/etc/mysql/debian.cnf
Si tu configuración funciona correctamente, ya debes disponer de acceso administrativo al servicio de base de datos.
-
Por último actualizamos la contraseña del usuario root del servicio de MySQL del siguiente comando:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Recuerda actualizar 'MyNewPass' con la contraseña que deseas actualizar tu usuario root.
¡Y listo! Con esto has logrado restaurar el acceso al usuario root del servicio.
Espero que recuerden guardar correctamente la contraseña esta vez.
¡Hasta la próxima!