Restablecer la contraseña de ROOT en MySQL 5.6

He estado siguiendo estas instrucciones para restablecer la contraseña de root para la instalación local de MySQL 5.6 en la computadora portátil con Windows 7.

Paré el servicio, creé init-file y ejecuté el siguiente comando (como administrador):

 "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\MySQL-misc\\mysql-init.txt 

Recibí la siguiente advertencia :

2014-02-08 15:44:10 0 [Advertencia] TIMESTAMP con valor DEFAULT implícito está en desuso. Utilice la opción del servidor –explicit_defaults_for_timestamp (consulte la documentación para obtener más detalles).

Dado que es una advertencia, no estoy seguro de si debo arreglar algo y luego rehacer el proceso nuevamente.

Actualmente, la ventana de comandos todavía está activa y no acepta ninguna entrada. ¿Debo forzarlo o hay algo que pueda hacer para completar el proceso con elegancia?

ACTUALIZAR

Maté la ventana de comandos e intenté reiniciar el servicio. Obtuve un error.

Se reinició Windows y el servicio se inició automáticamente. La nueva root password parece funcionar. Pude usar con éxito varias funciones de Workbench que requieren la contraseña.

Entonces, la advertencia fue solo una advertencia.

En Windows :

0) apagar el servicio mysql56

1) vaya a C:\ProgramData\MySQL\MySQL Server 5.6 , tenga en cuenta que ProgramData es una carpeta oculta

2) buscando el archivo my.ini , my.ini y agrega una línea skip-grant-tables debajo de [mysqld] , guarda

 [mysqld] skip-grant-tables 

3) iniciar el servicio mysql56

4) a la derecha, puede acceder a la base de datos, ejecutar mysql

5) y use la consulta a continuación para actualizar la contraseña

 update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root'; 

nota : para una versión más nueva, use authentication_string lugar de password

6) apague nuevamente el servicio, elimine la línea skip-grant-tables guárdelo y vuelva a iniciar el servicio. intente usar la contraseña que configuró para iniciar sesión.


En Mac :

0) detener el servicio

 sudo /usr/local/mysql/support-files/mysql.server stop 

1) saltar la tabla de concesión

 sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 

una vez que se está ejecutando, no lo cierre, y abra una nueva ventana de terminal

2) ir a la terminal mysql

 /usr/local/mysql/bin/mysql -u root 

3) actualizar la contraseña

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

para una versión más reciente como 5.7, use

 UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root'; 

4) ejecutar FLUSH PRIVILEGES;

5) ejecuta \q para salir

6) iniciar el servidor mysql

 sudo /usr/local/mysql/support-files/mysql.server start 
  • Detenga el servicio Mysql yendo a Herramientas administrativas> Servicios
  • Abra Inicio> Ejecutar> cmd ( Ejecutar como administrador )
  • Inicie el servidor manualmente usando esta línea:

     mysqld -P3306 --skip-grant-tables 
  • En el nuevo cmd ( Ejecutar como administrador ) ejecuta:

     mysql -P3306 mysql 
  • Ejecute la siguiente consulta en el cliente mysql:

     update mysql.user set authentication_string=password('new_password') where user='root'; 

¡¡Eso es!!

El problema ha sido resuelto

Como dije en mi pregunta, seguí las instrucciones del manual de MySQL .

El proceso no fue exactamente como se describe (y esta fue la razón de mi publicación original) pero funcionó de todos modos (ver la sección de ACTUALIZACIÓN en mi publicación).

Actualizando esta respuesta con respecto a los cambios en MySQL 5.7:

0) apagar el servicio mysql57

1) vaya a C:\ProgramData\MySQL\MySQL Server 5.7 , tenga en cuenta que ProgramData es una carpeta oculta

2) buscando el archivo my.ini , my.ini y agrega una línea skip-grant-tables debajo de [mysqld] , guarda

 [mysqld] skip-grant-tables 

3) iniciar el servicio mysql57

4) a la derecha, puede acceder a la base de datos, ejecutar mysql

5) y use la consulta a continuación para actualizar la contraseña

update mysql.user set authentication_string=password('NEW_PASSWORD') where user='root';

6) apague nuevamente el servicio, elimine la línea skip-grant-tables guárdelo y vuelva a iniciar el servicio. intente usar la contraseña que configuró para iniciar sesión.

En caso de que tenga Xampp instalado.

  1. Ir a C: \ xampp \ mysql \ bin
  2. Abra el archivo my.ini
  3. Ponga skip-grant-tables en [mysqld]
  4. Ir a los servicios de Windows y detener el servicio de mysql
  5. Dispare este comando desde el símbolo del sistema C:\xampp\mysql\bin\mysql
  6. Ahora, restablezca la contraseña de root con la update mysql.user set password=PASSWORD('root') where user='root'; consulta de MySQL. update mysql.user set password=PASSWORD('root') where user='root';
  7. Salga del símbolo del sistema.
  8. Reinicie el servicio de ventanas de mysql que se desactivó en el paso 4.
  9. Ahora podrá iniciar sesión en mysql usando la contraseña como root.

Para MySQL 5.6 en Windows tuve que ejecutar esta statement para que funcione.

 UPDATE mysql.user SET Password=PASSWORD('NEW PASSWORD'), authentication_String=PASSWORD('NEW PASSWORD') WHERE User='root'; 

Primero, detenga el servidor mysql y siga los pasos a continuación:

Vaya al directorio mysql bin en cmd i, e. cd C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ bin

Las tablas de omisión de omisión le permitirán ingresar a mysql

  • mysqld.exe –skip-grant-tables

Abrir un nuevo símbolo del sistema o en el mismo símbolo del sistema

  • mysql.exe -uroot -p (sin ninguna contraseña puede iniciar sesión en mysql)

ejecutar debajo de la consulta para cambiar la contraseña de root de mysql

  • ACTUALIZACIÓN mysql.user set password = password (‘root password’) WHERE user = ‘root’;
  • privilegios de descarga

Eso es, reiniciar mysql y bueno para ir con una nueva contraseña .. !!

    Intereting Posts