Pregunta

Perdí mi nombre de usuario y contraseña de MySQL.¿Cómo lo recupero?

¿Fue útil?

Solución

Detenga el proceso MySQL.

Inicie el proceso MySQL con la opción --skip-grant-tables.

Inicie el cliente de consola MySQL con la opción -u root.

Enumere todos los usuarios;

SELECT * FROM mysql.user;

Restablecer la contraseña;

UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Pero NO LO OLVIDE a

Detener el proceso MySQL

Inicie el proceso MySQL normalmente (es decir,sin la opción --skip-grant-tables)

Cuando termines.De lo contrario, la seguridad de su base de datos podría verse comprometida.

Otros consejos

Lamentablemente su contraseña de usuario es irrecuperable.Se ha codificado con un hash unidireccional que, si no lo sabe, es irreversible.Recomiendo ir con Xenph Yan arriba y simplemente crear uno nuevo.

También puede utilizar el siguiente procedimiento desde el manual para restablecer la contraseña de cualquier MySQL raíz cuentas en Windows:

  1. Inicie sesión en su sistema como administrador.
  2. Detenga el servidor MySQL si se está ejecutando.Para un servidor que se ejecuta como un servicio de Windows, vaya al administrador de servicios:

Menú Inicio -> Panel de control -> Herramientas administrativas -> Servicios

Luego busque el servicio MySQL en la lista y deténgalo.Si su servidor no se está ejecutando como un servicio, es posible que deba usar el administrador de tareas para forzarlo a detener.

  1. Cree un archivo de texto y coloque las siguientes declaraciones en él.Reemplace la contraseña con la contraseña que desea utilizar.

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

    El ACTUALIZAR y ENJUAGAR cada una de las declaraciones debe escribirse en una sola línea.El ACTUALIZAR La declaración restablece la contraseña de todas las cuentas raíz existentes y la ENJUAGAR La declaración le dice al servidor que vuelva a cargar las tablas de concesión en la memoria.

  2. Guarda el archivo.Para este ejemplo, el archivo se llamará C:\mysql-init.txt.
  3. Abra una ventana de consola para acceder al símbolo del sistema:

    Menú Inicio -> Ejecutar -> cmd

  4. Inicie el servidor MySQL con el especial --archivo-init opción:

    C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
    

    Si instaló MySQL en una ubicación distinta a C:\mysql, ajuste el comando en consecuencia.

    El servidor ejecuta el contenido del archivo nombrado por el --archivo-init opción al inicio, cambiando cada raíz contraseña de la cuenta.

    También puedes agregar el --consola opción al comando si desea que la salida del servidor aparezca en la ventana de la consola en lugar de en un archivo de registro.

    Si instaló MySQL usando el Asistente de instalación de MySQL, es posible que necesite especificar un --archivo-predeterminado opción:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
    

    La Apropiada --archivo-predeterminado La configuración se puede encontrar utilizando el Administrador de servicios:

    Menú Inicio -> Panel de control -> Herramientas administrativas -> Servicios

    Busque el servicio MySQL en la lista, haga clic derecho sobre él y elija la opción Propiedades.El campo Ruta al ejecutable contiene el --archivo-predeterminado configuración.

  5. Una vez que el servidor se haya iniciado correctamente, elimine C:\mysql-init.txt.
  6. Detenga el servidor MySQL y luego reinícielo en modo normal nuevamente.Si ejecuta el servidor como un servicio, inícielo desde la ventana Servicios de Windows.Si inicia el servidor manualmente, utilice cualquier comando que utilice normalmente.

Ahora debería poder conectarse a MySQL como root usando la nueva contraseña.

Una mejora de la respuesta más útil aquí:

1]No es necesario reiniciar el servidor mysql.
2] Preocupación de seguridad para un servidor MySQL conectado a una red

No es necesario reiniciar el servidor MySQL.

usar FLUSH PRIVILEGES; después de la actualización de la declaración mysql.user para el cambio de contraseña.

La instrucción FLUSH le dice al servidor que vuelva a cargar las tablas de concesión en la memoria para que note el cambio de contraseña.

El --skip-grant-options permite que cualquiera pueda conectarse sin contraseña y con todos los privilegios.Debido a que esto es inseguro, es posible que desees

usar --skip-grant-tables en conjunto con --saltar-redes para evitar que los clientes remotos se conecten.

de:referencia: restableciendo-permisos-genericos

Si bien no puede recuperar directamente una contraseña de MySQL sin fuerza bruta, podría haber otra manera: si ha utilizado MySQL Workbench para conectarse a la base de datos y ha guardado las credenciales en la "bóveda", está listo.

En Windows, las credenciales se almacenan en %APPDATA%\MySQL\Workbench\workbench_user_data.dat - cifrado con CriptaProtegerDatos (sin ninguna entropía adicional).Descifrar es muy fácil:

std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
    DATA_BLOB inblob { length, input };
    DATA_BLOB outblob;

    if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
            throw std::runtime_error("Couldn't decrypt");
    }

    std::vector<unsigned char> output(length);
    memcpy(&output[0], outblob.pbData, outblob.cbData);

    return output;
}

O puedes ver esto Hilo de DonationCoder para fuente + ejecutable de una implementación rápida y sucia.

Si tiene acceso root al servidor donde se ejecuta mysql, debe detener el servidor mysql usando este comando

sudo service mysql stop

Ahora inicie mysql usando este comando

sudo /usr/sbin/mysqld --skip-grant-tables  --skip-networking &

Ahora puedes iniciar sesión en mysql usando

sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

Las instrucciones completas se pueden encontrar aquí. http://www.techmatterz.com/recover-mysql-root-password/

Hazlo sin tiempo de inactividad

Ejecute el siguiente comando en la Terminal para conectarse al DBMS (necesita acceso de root):

sudo mysql -u root -p;

ejecute actualizar la contraseña del usuario objetivo (para mi ejemplo, el nombre de usuario es mousavi y su contraseña debe ser 123456):

UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';  

en este punto necesitas hacer un lavado para aplicar los cambios:

FLUSH PRIVILEGES;

¡Hecho!Lo hizo sin detener ni reiniciar el servicio mysql.

Inicie sesión en MySql desde Windows cmd utilizando el usuario existente:

mysql -u nombre de usuario -p
Introducir la contraseña:****

Luego ejecute el siguiente comando:

mysql> SELECT * FROM mysql.user;

Después de eso, copie la contraseña md5 cifrada para el usuario correspondiente y habrá varias aplicaciones descifradas de contraseñas en línea disponibles en la web.Utilice esta contraseña para descifrar y utilícela para iniciar sesión la próxima vez.o actualice la contraseña del usuario usando un comando fluido:

mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Luego inicie sesión con la nueva contraseña y usuario.

Aunque una interpretación estricta, lógica e informática de la pregunta del operador sería requerir ambos "¿Cómo recupero mi nombre de usuario MySQL?" y "contraseña" - Pensé que podría ser útil para alguien abordar también la O interpretación.En otras palabras ...

1) ¿Cómo recupero mi nombre de usuario MySQL?

O

2) contraseña

Esta última condición parece haber sido ampliamente abordada ya, así que no me molestaré en hablar de ella.La siguiente es una solución solo para el caso "¿Cómo recupero mi nombre de usuario de MySQL?".Hola.

Para encontrar su nombre de usuario de MySQL, ejecute los siguientes comandos desde el shell de MySQL...

SELECCIONE Usuario DE mysql.user;

Imprimirá una tabla de todos los usuarios de MySQL.

SI tiene ODBC configurado, puede obtener la contraseña del archivo de configuración de ODBC.Esto está en /etc/odbc.ini para Linux y en la carpeta Software/ODBC en el registro de Windows (hay varias; puede que sea necesario buscar un poco)

Para usuarios de Windows, puedes seguir esto. guía para restablecer tu contraseña

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top