Hace unas horas Omar y yo estabamos desarrollando una idea para una aplicación la cual, debo decir, nos quedo “bien padre”… Alegres y jubilosos nos dispusimos a trabajar, abro el MySQL Administrator y zas marrano!!! que me doy cuenta que, estupidamente, perdí mi contraseña de root… un poco muy bruto diría mi hermano… Ni modo, después del shock inicial… a buscar y como siempre, a encontrar la solución. Aquí se las pongo para todos aquellos que han perdido (no se quemen diciendo el por qué) la contraseña del root.
1. Poner cara de “Panda la madre Osa!!!”
2. Respirar tranquilos…
3. Abrir el administrador de procesos de Windows (services.msc)
4. Detener el servicio de MySQL (click derecho — Detener)
5. Abrir una ventana de CMD, consola de Windows, o Pantalla de DOS (como le quieran llamar) y situarse en la carpeta donde esta instalado el MySQL (generalmente es en la carpeta BIN de la carpeta de instalacion) y desde la cual, generalmente se ejecuta MySQL en modo consola
6. Escribir la siguiente linea “mysqld-nt –skip-grant-tables” cuando hagan esto, la pantalla del CMD se vera como que esta haciendo nada o algo… ya saben como es Windows… la cosa es que esa ventana quedará “inutilizable” dejenla así y abran otra ventana de CMD
7. En la nueva ventana del CMD ir de nuevo a la carpeta donde esta instalado MySQL y acceder como root (si, ya se que perdieron la contraseña…) solo escriban “mysql -u root” y voila! accedemos sin contraseña… no se precipiten, aun no hemos terminado.
8. Seleccionamos la base de datos (use mysql) y después procedemos con la tecnica milenaria de crear a otro root, con la siguiente linea “INSERT INTO user VALUES (‘localhost’, ‘roottemporal’, ”,’Y', ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”, ‘0′, ‘0′, ‘0′,’0′)” OJO: Deben ser 26 ‘Y’, 4 espacios en vacio”, y 4 Ceros ‘0′… Con esto estamos creando, para el localhost, un usuario roottemporal, sin contraseña y con todos los permisos posibles.
9. Con el administrador de tareas de Windows aniquilamos el proceso mysqld-nt (que se esta ejecutando en la consola CMD que parece que no hace nada) y además cerramos amablemente la terminal MySQL donde estuvimos trabajando con un QUIT, si no se cierra tumbenla con el administrador de tareas también.
10. Arrancamos de nuevo el servicio de MySQL con el administrador de servicios (services.msc)
11. Desde una ventana de CMD, Ingresamos a MySQL con el usuario roottemporal sin password
12. Seleccionamos la base de datos mysql (use mysql)
13. Ejecutamos la instrucción ” UPDATE user SET Password=PASSWORD(‘la_nueva_contraseña’) WHERE User=’root’ ” (importante respetar las mayusculas de las palabras…)
14. Ejecutamos ” flush privileges ” (si no hacen esto será como no haber hecho nada…)
15. Sonrian y relajense, vayan por una cerveza y digan “haaaaa” … jajaja… en este punto ya hemos reiniciado la contraseña del root, asi que pueden salir de la consola, y acceder con el MySQL Administrator y gestionar lo demás en modo gráfico, o bien salir de la consola y entrar de nuevo con el usuario root y la contraseña que acaban de crear… en ambos casos es importante eliminar al usuario roottemporal, pues tiene calidad de root y además no tiene contraseña… esto lo pueden desde la consola con la instrucción: “delete from user where user=’roottemporal’;” y después la instrucción “flush privileges;” o desde el modo gráfico del Administrator, vayan a User Administration, click derecho en el usuario roottemporal y delete user.
15. Dejar un comentario con “gracias pato… (y a google también)”
ACTUALIZACION DE ESTE POST
Dejaron un comentario sobre no posibilidad de copiar y pegar la informacion del usuario, esto es cierto, si al leer este post tratas de copiar y pegar el paso numero 8, no te funcionará pues como bien dice Caresth, las comillas cambian, por eso que en el mismo paso, especifiqué la cantidad de Y’s, y espacios vacios que deben existir. Gracias a todos por vistar este humilde blog.
Jajajaja, no manches tu si que te vuelas hermano!!!
Aparte pense que el INSERT con todos los privilegios iba a ser seguido de un paso como
X:ver las pendejadas que uno tiene que hacer con tal de recuperar su root
hahahhahaha…
Excelente post bro. sigue asi
Gracias pato… y a san google tambien, hehehe
Por: avaldini el Agosto 15, 2008
a las 7:35 pm
compadre lejos la mejor ayuda que pude encotrar y todo por meter mal el dedo cuando digite la contraseña
pero lo reitero
exelente
y a echarle algo a la mente
Por: hector el Octubre 31, 2008
a las 12:39 am
Un saludo desde Colombia, gracias pato
Por: Andres el Noviembre 4, 2008
a las 10:29 pm
Gracias Pato. Te volaste la barda.
Saludos desde Cd. de México
Por: LuisArturo el Noviembre 20, 2008
a las 12:49 am
Buenísima ayuda. Me salvaste.
Lo único, gente, que no se puede copiar y pegar al insertar los datos del usuario, porque el procesador de textos cambió las comillas simples por comillas abiertas y cerradas.
Por: Caresth el Diciembre 20, 2008
a las 11:29 pm
Gracias, pato volador…
A ver si consigo recuperar la base de datos después de entrar como root…
Por: antonio el Enero 21, 2009
a las 9:33 pm
gracias pato, la neta me ayudaste, sin embargo tengo un problema solo logro entrar una vez y luego la contraseña no me la reconoce… porfavor podrias ayudarme?
Por: mauricio el Febrero 16, 2009
a las 8:45 pm
una buena informacion, me sirvio bastante ya que tuve el mismo problema …, sigan asi muchos exitos.
Saludos.
Por: melisa* el Marzo 6, 2009
a las 7:17 pm
por si alguno esta buscando la forma de cambiar la contraseña del SA de SQL (no de MySQL) pueden eocntrar una buena solucion por aca
http://soporte.silicontower.net/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=7
ahi luego
Por: Kampe el Marzo 25, 2009
a las 7:51 pm
Muchas Gracias.
Me sirvió de maravilla, dado que se me presentó el caso en un equipo de desarrollo y casi lloro.
Por: lira el Abril 23, 2009
a las 11:41 pm
cuando escribo este comando en la consola mysqld-nt –skip-grant-tables… me sale el siguiente error: mysqld-nt too many arguments, a que se debe,
Por: Geovanni el Mayo 27, 2009
a las 10:31 pm
thax causa xvr tu post !!! 10 ptos!!
Por: franco el Julio 5, 2009
a las 9:42 pm
Eres un crack!!!! gracias
Por: manolo el Agosto 12, 2009
a las 9:43 am
Hola a todos y gracias a pato ya a google
Quiero comentar que constantemente he tenido que recuperar la contraseña de root (… ya se, y no aprendo..), ya que lo tengo instalado en multiples equipos. Este post me ha servido mucho, sin embargo hay dos detalles que he notado y quizá a muchos les ayude:
1. En el paso 6 la intrucción correcta es: “mysqld-nt –-skip-grant-tables”
2. El paso 8 en realidad se puede omitir, ya que una vez dentro de mysql con privilegios de root, puedes hacer el update al password (pasos 13 y 14)
bueno, espero mi comentario sea de utilidad
Saludos
Por: Martha el Septiembre 17, 2009
a las 2:00 pm
Ese pato se saco un 10 !!!!
Me hiciste esquina con tu post para desbloquear la db del trabajo ya que no les dejaron el password cuando renuncio el inge anterior.
Saludos, man.
Por: Radioactive ZERO el Octubre 19, 2009
a las 4:39 pm