2010-11-23 13 views
14

Tengo un pequeño problema con mi phpmyadmin, de hecho borré accidentalmente varias cuentas de usuario. Dado que es imposible conectar sin el error:¿Cómo restablecer la contraseña de root de mysql?

# 1045 - Access denied for user 'root' @ 'localhost' (using password: NO) 

Tengo buscar un poco en la red antes, e incluso la técnica:

UPDATE mysql.user SET Password = PASSWORD ('') WHERE User = 'root'; 
FLUSH PRIVILEGES; 

no funciona, o no he entendido cómo funcionó.

Estoy en FreeBSD 8.1, mi versión de PhpMyadmin es 2.11.

Gracias de antemano por sus respuestas.

Respuesta

16

que resume mi solución aquí: http://snippets.dzone.com/posts/show/13267

sudo stop mysql 
sudo mysqld --skip-grant-tables --skip-networking 

mysql 
mysql> update mysql.user set password = password('your_new_password') where user = 'root'; 
mysql> flush privileges; 
mysql> exit; 
sudo mysqladmin shutdown 
sudo start mysql 
+1

por favor no publiques la misma respuesta varias veces. Si la pregunta es un duplicado, márquelo como tal. – Mat

+2

falta en el fragmento anterior, aunque se explica en el resumen externo. 1) Después de ejecutar el primer 'sudo mysqld ...', cambie a una ventana de terminal diferente. 2) Preguntar por la nueva contraseña al ejecutar el cierre de mysqladmin: 'sudo mysqladmin shutdown -u root -p' – here

0

Siga las instrucciones del siguiente enlace para restablecer su contraseña de root. Debe hacerlo desde fuera de mysql.

Restablecimiento de contraseña MySql

El olvido de la contraseña de MySQL puede ser un verdadero dolor de cabeza para you.Here son algunos pasos que puede seguir para recuperar la contraseña de MySQL bajo Windows parada MySql

usted tiene que parar MySQL servicio antes de continuar. En el entorno de Windows, vaya a 'Administrador de tareas' y en la pestaña 'Servicio', encuentre MySQL y deténgalo. Escribir Sql para cambiar su contraseña

Todo lo que necesita hacer es crear un archivo de texto y poner las siguientes dos líneas en eso. ACTUALIZAR mysql.user SET Password = PASSWORD ('MyNewPass') WHERE Usuario = 'root'; FLUSH PRIVILEGES; Guárdelo en C: \ unidad y asígnele un nombre 'mysql-init.txt' Hora de reiniciar MySQL por su cuenta.

Ahora es el momento de reiniciar su MySQL en el que se detuvo antes, pero esta vez desde la línea de comandos. C:> C: \ mysql \ bin \ mysqld-nt --init-file = C: \ mysql-init.txt ¡Terminando!

Ahora puede iniciar sesión con su nueva contraseña. Cuando termine, elimine el archivo que creó en la etapa anterior.

También hay un enlace (http://kaziprogrammingblog.osinweb.com/article/showarticle/Resetting-MySql-Password) donde he explicado lo mismo.

Esperamos que esto ayude .. :)

4

para MySQL 5.7.16 o posterior encontré this (de mysql.com) para ser la solución de trabajo. A continuación se muestran algunos puntos que son diferentes en comparación con versiones anteriores

1) Utilicé el siguiente comando para ejecutar mysql en modo seguro según otras referencias que en realidad funcionaron bien para mí (mysql 5.7.16 ubuntu 16.04).

mysqld_safe --skip-grant-tables --skip-networking 

2) La siguiente actualización stmt NO está funcionando para la versión posterior (es decir, 5.7 y por encima)

-- NOT Working for 5.7 and later 
UPDATE mysql.user SET Password = PASSWORD ('') WHERE User = 'root'; 
FLUSH PRIVILEGES; 

usar en su lugar a continuación para 5.7.6 y más tarde

UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' 
    WHERE User = 'root' AND Host = 'localhost'; 
FLUSH PRIVILEGES; 

o usuario a continuación para 5.7.5 o versiones anteriores.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); 
+0

Debe tratar de incluir partes importantes en el cuerpo de la respuesta y usar el enlace como referencia. – mx0

0

respuesta de XAMPP en Windows:

  • Editar C: \ xampp \ mysql \ bin \ my.ini y de inserción skip-grant-tables por debajo de [mysqld]
  • Reinicio de MySQL de control Interfaz del panel
  • En la ventana phpMyAdmin, seleccione la pestaña SQL del panel superior. Esto abrirá la pestaña SQL donde podemos ejecutar las consultas SQL. Ahora escriba la siguiente consulta en el área de texto y haga clic en Ir

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; FLUSH PRIVILEGES;

  • Retire las skip-grant-tables en el archivo my.ini interfaz
  • Reiniciar MySQL desde Panel de control

¡HECHO!

Tenga en cuenta que la contraseña del usuario root de mysql no tiene que ser la misma que la contraseña de phpmyadmin.

Cuestiones relacionadas