Excelente post Fabio! muy util para desarrolladores olvidadizos como yo!
¿Cómo recuperar el password de root de MySQL?
Hoy estaba tratando de instalar una app que requiere acceso de MySQL pero no era en mi PC habitual si no en mi pequeñita y todavía práctica Asus EEE. Andá a saber cuando instalé el MySQL para un experimento ahí, no me acordaba qué password de root le había asignado y no funcionaban los que probaba.
Pues bien, hay una solución para los que perdemos el pass más importante de todos, para developers con acceso al server, aquí una de tantas formas de hacerlo que probablemente les funcione.
Post para developers casi exclusivamente!
Antes que nada la aclaración obvia, esto no es para amateurs, si no sabés nada de linux, no es tu tema, pero si sabés un poco es una buena ayuda.
Todo esto hay que ejecutarlo como root del sistema para poder tener los permisos suficientes para trabajar con servicios y mysql.
Paso 1: detener el servicio de MySQL
# /etc/init.d/mysql stop
debería decir algo así como:
Stopping MySQL database server: mysqld.
Paso 2: Reiniciar el servidor sin password
# mysqld_safe --skip-grant-tables &
Recuerden agregar el & al final para poder seguir usando esa consola
[1] 3423
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[4567]: started
Esto significa que reinició pero sin las tablas que definen los permisos y passwords como filtro
Paso 3: Conectarse al servidor ahora sin password
# mysql -u root
Con esto entramos con el cliente default
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Paso 4: asignar un nuevo password al usuario Root de MySQL
mysql> use mysql;
mysql> update user set password=PASSWORD("password nuevo a asignar") where User='root';
mysql> flush privileges;
mysql> quit
Con esto ya tenemos todo listo, ahora tenemos que volver al modo "normal"
Paso 5: detener nuevamente el servidor MySQL
# /etc/init.d/mysql stop
Mostrará algo parecido a la primera vez:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[4567]: ended
[1]+ Done mysqld_safe --skip-grant-tables
Y ahora podemos volver a iniciar el servicio como siempre:
# /etc/init.d/mysql start
Paso 7: comprobar que todo esté bien, tan sólo, loguearse
# mysql -u root -p
Y listo!
gracias a esta ayudita
Otros posts que podrían llegar a gustarte...
Comentarios
-
estas cosas deberian venir por defecto en los bookmarks del firefox
Me meti en el link original y dice "Recover MySQL root Password".....pregunta, el verbo "recover" no deberias traducirlo como "restablecer" ó algo parecido? porque en si no estas recuperando la password (habria que ver que sistema de encriptacion usan, pero dudo que se pueda).
-
Fabio te dejo una lista de comandos útiles que usamos en el laburo !
son muy prácticos
http://yfrog.com/h2s00lxsj
-
Fabio dijo:
Fede dijo:
Acá se vé mejor
jajajajaj son los comandos suicidas!
jjaja conozco mas de un compañero de trabajo que tiro el primer comando en producción
-
Jonyx4 dijo:
Fabio dijo:
Fede dijo:
Acá se vé mejor
jajajajaj son los comandos suicidas!
jjaja conozco mas de un compañero de trabajo que tiro el primer comando en producción
O sea, ex-compañero de trabajo?
-
Vos con esto estas queriendo decir que un usuario mal intencionado podria ,si tuviera acceso al servidor, cambiar el pass de la base de mysql asi como asi??
me da mucho miedo mysql.. la pass la guarda en una tabla publica que se ve entrando sin permisos??? mas miedo..
-
Y si tuvieras que solo recuperar el mismo?
Abrir DB, copiar HASH, luego usar RAINBOW tables.
Hecho!
(Comprobado varias veces... :-)
Saludos! y gracias por este tipo de posts....
-
Gonzalo dijo:
Vos con esto estas queriendo decir que un usuario mal intencionado podria ,si tuviera acceso al servidor, cambiar el pass de la base de mysql asi como asi??
me da mucho miedo mysql.. la pass la guarda en una tabla publica que se ve entrando sin permisos??? mas miedo..
eeeh, si tenés acceso al servidor como root a vos te preocupa la base de datos?
creo que ese sería el menor de tus problemas
Diego dijo:
Y si tuvieras que solo recuperar el mismo?
Abrir DB, copiar HASH, luego usar RAINBOW tables.
Hecho!
(Comprobado varias veces... :-)
Saludos! y gracias por este tipo de posts....
escribo estos posts siempre que me pasa algo así me parece que es genial poder transmitir soluciones que nos funcionaron!
-
Daniel dijo:
Seria posible si me colaboran con lo mismo pero ya no en linux sino en windows. Gracias!
es exactamente lo mismo desde CMD (la línea de comandos de Windows) salvo por la parte de iniciar-detener un servicio