当MySQL的root密码被遗忘时,你可以采取以下三种解决方案来重置密码:
解决方案一:使用mysqld_safe命令跳过权限表
-
停止MySQL服务:
根据你的操作系统和MySQL安装方式,使用相应的命令停止MySQL服务。例如,在Linux上,你可以使用sudo systemctl stop mysql或sudo /etc/init.d/mysql stop。 -
启动MySQL服务并跳过权限表:
使用mysqld_safe命令启动MySQL服务,并添加--skip-grant-tables选项来跳过权限表。sudo mysqld_safe --skip-grant-tables & -
登录MySQL:
由于跳过了权限表,你现在可以无密码地登录到MySQL服务器。mysql -u root -
重置密码:
在MySQL提示符下,更新root用户的密码。FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';其中
'new_password'是你想要设置的新密码。 -
重启MySQL服务:
使用正常方式重启MySQL服务,以便它再次使用权限表。
解决方案二:使用mysqladmin命令(如果你有sudo权限)
如果你有sudo权限并且知道MySQL服务的root密码(虽然这与你想要重置的root密码不同),你可以使用mysqladmin命令来重置密码。
-
停止MySQL服务(如果需要)。
-
启动MySQL服务。
-
使用mysqladmin重置密码:
sudo mysqladmin -u root -p password 'new_password'在提示时输入旧的MySQL root密码。
解决方案三:修改MySQL配置文件
下滑查看解决方法
如果你具有对MySQL配置文件的直接访问权限(通常是my.cnf或my.ini),并且具有系统管理员权限,你可以通过编辑配置文件来重置密码。
-
编辑MySQL配置文件:
找到[mysqld]部分,并添加或修改skip-grant-tables选项。[mysqld] skip-grant-tables -
重启MySQL服务。
-
登录MySQL(无需密码)。
-
重置密码(如解决方案一所述)。
-
从配置文件中删除或注释掉
skip-grant-tables,并重启MySQL服务。
注意:使用skip-grant-tables选项会允许任何用户无密码地登录到MySQL服务器,这可能会带来安全风险。因此,在重置密码后,应尽快从配置文件中删除或注释掉该选项,并重启MySQL服务。
重置遗失MySQLroot密码的三种方法
本文介绍了三种在MySQLroot密码丢失时重置密码的方法:1)使用mysqld_safe跳过权限表;2)有sudo权限时用mysqladmin命令;3)修改MySQL配置文件。但请注意,skip-grant-tables选项可能导致安全风险。
499

被折叠的 条评论
为什么被折叠?



