初次安装MySQL后,如何通过skip-grant-tables跳过验证重置root密码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计959个文字,预计阅读时间需要4分钟。
MySQL初次安装后,若未设置密码或系统自动生成了临时密码但未记住,可以使用以下命令直接控制并重置密码:
为什么必须先停掉 mysqld 服务
MySQL 不允许在运行状态下修改授权表启动参数。如果你直接执行 mysqld --skip-grant-tables,大概率会报错 Another MySQL daemon is already running 或端口被占用。必须先确保原服务已彻底退出:
- Linux:用
sudo systemctl stop mysqld(注意不是mysql,多数发行版服务名是mysqld) - Windows:用管理员权限运行 CMD,执行
net stop mysql;若失败,去任务管理器结束所有mysqld.exe进程 - 验证是否干净退出:Linux 上跑
ps aux | grep mysqld,Windows 上看任务管理器,确认无残留进程
跳过权限表启动的两种可靠方式
不要依赖改 /etc/my.cnf 后重启——配置文件可能被覆盖、路径不一致、或 systemd 忽略自定义项。推荐以下任一方式,更可控:
-
方式一(推荐):终端中直接启动:
sudo mysqld_safe --skip-grant-tables --skip-networking &。
本文共计959个文字,预计阅读时间需要4分钟。
MySQL初次安装后,若未设置密码或系统自动生成了临时密码但未记住,可以使用以下命令直接控制并重置密码:
为什么必须先停掉 mysqld 服务
MySQL 不允许在运行状态下修改授权表启动参数。如果你直接执行 mysqld --skip-grant-tables,大概率会报错 Another MySQL daemon is already running 或端口被占用。必须先确保原服务已彻底退出:
- Linux:用
sudo systemctl stop mysqld(注意不是mysql,多数发行版服务名是mysqld) - Windows:用管理员权限运行 CMD,执行
net stop mysql;若失败,去任务管理器结束所有mysqld.exe进程 - 验证是否干净退出:Linux 上跑
ps aux | grep mysqld,Windows 上看任务管理器,确认无残留进程
跳过权限表启动的两种可靠方式
不要依赖改 /etc/my.cnf 后重启——配置文件可能被覆盖、路径不一致、或 systemd 忽略自定义项。推荐以下任一方式,更可控:
-
方式一(推荐):终端中直接启动:
sudo mysqld_safe --skip-grant-tables --skip-networking &。

