No he usado la base de datos mysql local durante mucho tiempo. Tal vez un día, cuando de repente necesite usarla, se olvide mi contraseña. Es problemático desinstalar e instalar nuevamente, entonces, ¿qué debo hacer? Se puede solucionar cambiando la contraseña.
Sistema operativo: win10;
versión de la base de datos mysql: mysql-8.0.16
directorio de instalación de mysql: D: \ Archivos de programa
Los siguientes pasos se explican a continuación:
1. Abra la primera ventana de DOS
Ingrese los siguientes comandos en secuencia
cd D:\Program Files\mysql-8.0.16-winx64\bin
net stop Mysql8
mysqld --console --skip-grant-tables --shared-memory
Efecto de ejecución:
Explicación del comando:
Comando 1: Abra el subdirectorio bin del directorio de instalación de mysql en la computadora local (ajuste de acuerdo con su propia ruta de instalación), debido a que contiene el archivo ejecutable mysqld.exe, ingrese a este directorio para que los siguientes comandos de mysqld surtan efecto .
Comando 2: Detenga el servicio mysql. Establecí el nombre del servicio en Mysql8 antes, así que aquí está "net stop Mysql8". Si el nombre del servicio mysql local es mysql, debe cambiarse a "net stop mysql".
Comando 3: Indica que se omite la autenticación de la tabla de autorización al iniciar el servicio MySQL. Dado que mysqld –skip-grant-tables no es válido en mysql8.0, ahora use el comando: mysqld --console --skip-grant-tables --shared-memory.
Nota: Utilice el modo de administrador para abrir, de lo contrario, el comando "net stop Mysql8" no se ejecutará, lo que indicará que se niegue el acceso, porque la autoridad operativa del usuario actual es demasiado baja.
¿Cómo usar el modo administrador para abrir?
Tome win10 como ejemplo, ingrese cmd en la barra de búsqueda, haga clic con el botón derecho en "Símbolo del sistema" y elija ejecutar como administrador.
2. Abre la segunda ventana de DOS.
Ejecute los siguientes comandos en secuencia
cd D:\Program Files\mysql-8.0.16-winx64\bin
mysql -u root -p
//不输入密码直接回车
use mysql
update user set authentication_string='' where user='root';
quit
El significado general de los comandos anteriores es: inicie sesión en mysql, cambie a la base de datos mysql, cambie la tabla de usuarios y establezca la cadena de autenticación de registros del usuario root en vacía.
Efecto de ejecución:
3. Abra la tercera ventana de DOS.
Ejecute los siguientes comandos en secuencia
net start Mysql8
cd D:\Program Files\mysql-8.0.16-winx64\bin
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
El significado general de los comandos anteriores es: reinicie el servicio mysql, inicie sesión en mysql y cambie la contraseña del usuario root a: 123456.
Nota:
1. También es necesario abrir la ventana DOS en modo administrador.
2. En la versión inferior de mysql, puede usar el comando para cambiar la contraseña: establecer contraseña para root @ localhost = contraseña ('123456');
pero para la versión de mysql 8.0, solo puede usar el comando: alter user ' root '@' localhost 'identificado por' 123456 ';
3. Si ejecuta el comando "net start Mysql8" para iniciar el servicio mysql sin éxito
- Verifique si el nombre del subdirectorio de datos en el directorio de instalación de mysql es correcto, el correcto debe ser el siguiente
- Si el nombre de los datos es correcto, elimine la carpeta de datos en el directorio de instalación, abra la ventana DOS y ejecute el siguiente comando:
cd D:\Program Files\mysql-8.0.16-winx64\bin
mysqld --initialize
Verá que la carpeta de datos eliminada anteriormente se regenera. Vuelva a ejecutar "net start mysql" para iniciar el servicio correctamente.
Efecto de ejecución: ¡Hasta
ahora, la contraseña local de mysql 8 se ha modificado correctamente!