Creo que debe haber muchos amigos como yo que están luchando con cómo cambiar la contraseña de MySQL y cómo iniciar sesión correctamente si se olvida la contraseña. Permítanme presentarles el problema: se olvida la contraseña para iniciar sesión en mysql, y el mysql que instalé no tiene lo que se dice en internet .archivo my.ini si tienes el mismo problema que yo. Entonces, veamos cómo resolverlo.
Es muy molesto olvidar la contraseña y no puedo iniciar sesión (y originalmente tenía la carpeta del paquete comprimido de MySQL y descargué otra carpeta de Internet) (Es indignante, solo descubrí que descargué mysql en el búsqueda mundial.)
Después de descargar desde la página web, no hay ningún archivo my.ini en mi paquete comprimido , ¿qué debo hacer? ¿Qué más puedo hacer para configurarlo yo mismo?Después de leer muchos artículos en Internet, siento que puedo hacerlo de nuevo, así que comencé a configurarlo. Al final todavía no funcionó. (La ingeniería de prueba y error siempre es problemática)
No hay mucho que decir, solo cree un texto my.ini en el directorio al mismo nivel que bin, y cree una carpeta de datos (usada para poner datos)
El contenido interno es el siguiente (recuerde cambiar la dirección a continuación a la dirección mysql que puso, no copie y pegue directamente)
[mysqld]
# Establecer puerto 3306
port=3306
# Establecer el directorio de instalación de mysql ---------- es la ruta de su archivo -------------
basedir=D:\123 \mysql-8.0.29-winx64
# Establecer el directorio de almacenamiento de datos de la base de datos mysql --------- es la carpeta de datos de la ruta del archivo para crear por sí mismo
#datadir=D:\123\mysql-8.0.29 - winx64\data
# Permitir la cantidad máxima de conexiones
max_connections=200
# Permitir la cantidad de fallas de conexión.
max_connect_errors=10
#El conjunto de caracteres utilizado por el servidor es utf8mb4 por defecto
character-set-server=utf8mb4
#El motor de almacenamiento predeterminado que se utilizará al crear una nueva tabla
default-storage-engine=INNODB
#La autenticación del complemento "mysql_native_password" se usa de forma predeterminada
#mysql_native_password
default_authentication_plugin= mysql_native_password
[mysql]
# Establecer el conjunto de caracteres predeterminado del cliente mysql
default-character-set=utf8mb4
[cliente]
# Establecer el puerto predeterminado utilizado por el cliente mysql para conectarse al puerto del servidor
= 3306
default-character-set = utf8mb4
Después de la configuración, verifiquemos si la variable de entorno está configurada correctamente. Mi ruta aquí es D:\123\mysql-8.0.29-winx64\bin, por lo que necesito colocar esta ruta en la variable de entorno (esto es muy simple para yo no diré mucho aquí, esto debería ser común) (Después de todo, se necesitan muchas variables de entorno)
Bien, pongámonos manos a la obra
Primero abrimos cmd como administrador
Después de abrir, primero ingrese el siguiente código (si ya ha abierto este servicio) primero cierre el servicio
net stop mysql
Luego ingrese el siguiente código (este paso es para omitir la verificación e iniciar sesión en mysql directamente sin contraseña)
mysqld --console --skip-grant-tables --shared-memory
Luego, no cierre este cmd, y luego vuelva a abrir un cmd como administrador, e ingrese mysql directamente para ingresar
Luego ingrese el siguiente uso mysql,
use mysql
Use el siguiente código para actualizar los permisos y luego ingrese el comando para cambiar la contraseña
flush privileges;
En el código, "123456" es la contraseña que puse, también puedes cambiarla a otra
alter user root@localhost identified by '123456';
Después de completar, cierre el cmd abierto por primera vez, luego ingrese quit para salir, luego abra el servicio mysql y luego inicie sesión
quit
net start mysql
mysql -u root -p
El problema se resuelve aquí.