mysql忘记密码如何重置_mysql忘记密码快速重置完整教程

14次阅读

答案:可通过跳过权限验证重置mysql密码。先停止MySQL服务,以skip-grant-tables模式启动,免密登录后根据版本使用ALTER USER或UPDATE语句修改root密码,刷新权限并重启服务即可。

mysql忘记密码如何重置_mysql忘记密码快速重置完整教程

忘记MySQL密码是常见问题,尤其是本地开发环境。可以通过跳过权限验证的方式重置root密码,整个过程安全且有效。以下是适用于windowslinuxmacOS的完整操作步骤。

1. 停止MySQL服务

在重置密码前,先停止正在运行的MySQL服务。

Linux(ubuntu/debian):

sudo systemctl stop mysql

Linux(centos/RHEL):

sudo systemctl stop mysqld

macOS(使用Homebrew安装):

brew services stop mysql

Windows(管理员命令提示符):

net stop mysql

2. 跳过权限表启动MySQL

以跳过授权表的方式启动MySQL,这样无需密码即可登录。

Linux/macos

sudo mysqld –skip-grant-tables –skip-networking &

Windows:

找到MySQL安装目录下的bin文件夹,执行:

mysqld –skip-grant-tables –skip-networking

说明: –skip-grant-tables 让MySQL不加载权限表,允许免密登录;–skip-networking 防止其他用户连接,提升安全性。

3. 免密登录并修改密码

打开新终端或命令行窗口,使用root账户无密码登录。

mysql -u root

进入MySQL后,根据MySQL版本选择以下方式之一修改密码:

MySQL 5.7及以上版本:

UPDATE mysql.user SET authentication_string = PASSword(‘新密码’) WHERE User = ‘root’;

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;

MySQL 8.0+ 推荐方式:

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘你的新密码’;

刷新权限,使更改生效:

FLUSH PRIVILEGES;

退出MySQL:

exit;

4. 正常重启MySQL服务

关闭当前跳过权限的MySQL进程,然后正常启动服务。

先杀掉mysqld进程:

ps aux | grep mysqld # 找到进程ID

kill -9 进程ID

然后启动MySQL:

sudo systemctl start mysql # Linux Debian/Ubuntu

sudo systemctl start mysqld # Linux CentOS/RHEL

brew services start mysql # macOS

net start mysql # Windows

现在可以用新密码登录:

mysql -u root -p

输入你设置的新密码即可成功进入。

基本上就这些。操作时注意版本差异,尤其是MySQL 8.0之后的认证机制变化。只要按步骤来,重置密码并不复杂,但容易忽略刷新权限或未正确关闭临时进程。确保每一步执行到位,避免卡在登录环节。

text=ZqhQzanResources