Cada método tiene su situación aplicable, elija el método apropiado según la situación específica. Cualquiera que sea el método que elija, asegúrese de eliminar el usuario temporal y reiniciar el servicio inmediatamente después de restablecer la contraseña MySQL
.
1. Use para mysqladmin
restablecer la contraseña
-
Fuera de servicio
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
Use
mysqld_safe
el comando para iniciarMySQL
el servicio, omita la verificación de permisos y es posible que deba presionar Enter después de la ejecución$ sudo mysqld_safe --skip-grant-tables &
-
Inicie sesión en
MySQL
el servicio y usemysqladmin
el comando para restablecer la contraseña# 无需密码,会直接登入 $ mysql -u root # 刷新权限 mysql> FLUSH PRIVILEGES; # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
-
Detenga
MySQL
el servicio y reinicie la contraseña para iniciar sesión# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
2. Use para mysqld
restablecer la contraseña
-
Fuera de servicio
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
Use
mysqld_safe
el comando para iniciarMySQL
el servicio, omita la verificación de permisos y presione Entrar después de la ejecución$ sudo mysqld_safe --skip-grant-tables &
-
Inicie sesión en
MySQL
el servicio y cree un nuevo usuario temporal conroot
permisos# 无需密码,会直接登入 $ mysql -u root # 刷新权限 mysql> FLUSH PRIVILEGES; # 创建一个临时用户 temp_root 及 temp_password mysql> CREATE USER 'temp_root'@'localhost' IDENTIFIED BY 'temp_password'; # 设置权限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'temp_root'@'localhost' WITH GRANT OPTION; # 修改好后退出 MySQL mysql> exit
-
Detenga
MySQL
el servicio, reinicie el inicio de sesión con contraseña y useALTER
el comando para modificarroot
la contraseña del usuario# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、临时用户密码登录 $ mysql -u temp_root -p # 4、这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 5、修改好后退出 MySQL mysql> exit # 6、停止 MySQL 服务上面有,第一条就是 # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
-
mysqld_safe
Use el comando nuevamente para iniciarMySQL
el servicio, omita la verificación de permisos y elimine el usuario temporal$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'temp_root'@'localhost'; mysql> DROP USER 'temp_root'@'localhost'; mysql> exit
-
Reinicie
MySQL
el servicio nuevamente eroot
inicie sesión con la contraseña modificada# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p
3. Use MySQL
el modo de seguridad para restablecer la contraseña
-
Fuera de servicio
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
iniciar
MySQL
modo seguro$ sudo mysqld_safe --skip-grant-tables --skip-networking &
-
Inicie sesión en
MySQL
el servicio y usemysqladmin
el comando para restablecer la contraseña# 无需密码,会直接登入 $ mysql -u root mysql> FLUSH PRIVILEGES; # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
-
detener
MySQL
el modo seguro$ sudo killall mysqld_safe # 如果在本地机器上执行上面命令无法停止安全模式,可以通过杀死进程方式解决 # 1、列出 mysqld_safe 的进程 $ ps aux | grep mysqld_safe # 2、拿到 PID 全部杀死,应该是第二列,就几位纯数字的,如果不知道可以单独输出 $ ps aux 看一下。 $ sudo kill -9 xxx xxx ...
-
Detenga
MySQL
el servicio y reinicie la contraseña para iniciar sesión# 1、停止 MySQL 服务上面有,第一条就是,如果通过 $ sudo kill 可以一起就杀死了。 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
4. Use para my.cnf
restablecer la contraseña
-
Este método
方式一
es básicamente el mismo que el anterior, excepto que la instrucción de permiso de omisión en el comando se escribemy.cnf
y luego se elimina después de la modificación. -
Antes de modificar,
my.cnf
asegúrese de cerrarmysql
el proceso y cerrarlomysql
, de lo contrario, puede encontrarmysql
problemassock
que no se pueden conectar. -
Fuera de servicio
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
abrir
my.cnf
, crear uno si ninguno$ sudo vim /etc/my.cnf
Después de ingresar
vim
al editor para editar, búsquelo[mysqld]
, presionei
la tecla en el teclado para ingresar al modo de edición y[mysqld]
agregue cualquier línea despuésskip-grant-tables
para omitir el proceso de verificación de contraseña. PresioneESC
para salir de la edición, ingrese:wq
y presione Enter para guardar y salir.[mysqld] skip-grant-tables
-
mysqld
servicio de inicio# systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start
-
Inicie sesión en
MySQL
el servicio y usemysqladmin
el comando para restablecer la contraseña# 无需密码,会直接登入 $ mysql -u root # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 刷新权限 mysql> FLUSH PRIVILEGES; # 修改好后退出 MySQL mysql> exit
-
Ábralo de nuevo
my.cnf
, elimine lo que acaba de agregarskip-grant-tables
, guarde y reinicieMySQL
el servicio e inicie sesión con la nueva contraseña.