忘记 MySQL root 密码的解决方法:通过 mysqld_safe 选项停止和启动 MySQL 服务,在启动时添加 skip-grant-tables 选项,连接服务器后重置 root 密码。停止 MySQL 服务,编辑配置文件添加 init-file 选项,在 /var/lib/mysql/ 目录中创建 init_root_password.sql 文件,包含重置 root 密码的命令,然后启动 MySQL 服务即可。停止 MySQL 服务,以 root 用户启动 MySQL,在 MyS

忘记 MySQL root 密码怎么办?
恢复密码的方法:
方法 1:使用 mysqld_safe 选项
- 停止 MySQL 服务:
sudo systemctl stop mysql - 启动 MySQL 服务,同时设定
skip-grant-tables选项:sudo mysqld_safe --skip-grant-tables & - 连接到 MySQL 服务器:
mysql -u root - 重置 root 密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; - 刷新权限表:
FLUSH PRIVILEGES; - 退出 MySQL:
exit - 重启 MySQL 服务:
sudo systemctl restart mysql
方法 2:使用重置文件
- 停止 MySQL 服务:
sudo systemctl stop mysql - 找到并编辑 MySQL 配置文件(通常位于
/etc/mysql/mysql.cnf): -
在
[mysqld]段落中,添加以下行:init-file=/var/lib/mysql/init_root_password.sql
- 保存配置并退出文本编辑器。
- 在
/var/lib/mysql/目录中创建一个名为init_root_password.sql的文件。 -
在
init_root_password.sql文件中,输入以下内容:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
- 保存
init_root_password.sql文件。 - 启动 MySQL 服务:
sudo systemctl start mysql
方法 3:使用低级修复工具
- 停止 MySQL 服务:
sudo systemctl stop mysql - 以 root 用户启动 MySQL:
sudo mysqld --user=root --console -
在 MySQL 控制台中输入以下命令:
mysql> UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> quit - 退出 MySQL 控制台。
- 重启 MySQL 服务:
sudo systemctl start mysql










