Este es un hack viejo y conocido, pero quiero tenerlo a mano en mi propio blog.
Por diversas razones en algún momento de tu tecnológica vida te has quedado sin acceso a tu propio servidor de base de datos MySQL o quizás también el caso de que estás auditando un servidor y no conoces el acceso al MySQL a pesar de tener el root del sistema operativo.
Es muy sencillo, sólo seguimos los siguientes pasos.
1-. Detener el servicio de MySQL
#service mysql stop
2-. Iniciar el servicio en modo seguro y con la opción –skip-grant-tables
Esta opción hará que inicie MySQL sin necesidad de un password y con todos los permisos. Evidentemente esto es altamente peligroso y podría representar un hueco de seguridad por ese lapso de tiempo; es recomendable usar también la opción –skip-networking y así evitar un intruso que quiera aprovechar la oportunidad.
#mysqld_safe --skip-grant-tables --skip-networking &
El ampersand (&) es para enviar la salida a un segundo plano
3-. Entrar al MySQL como perro por su casa, sin contraseña alguna
#mysql -u root -p
4-. Cambiar el password de root de MySQL
mysql>use mysql;
mysql>update user set password=PASSWORD("minuevopassword") where User='root';
flush privileges;
quit;
5-. Detener el servicio de MySQL e iniciar nuevamente de forma normal.
#service mysql stop
#service mysql start
Y listo, con esto habremos conseguido recuperar o tener acceso al servidor de base de datos MySQL con permisos de root.


