忘记 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]段落中,添加以下行:
<code>init-file=/var/lib/mysql/init_root_password.sql</code>保存配置并退出文本编辑器。 在
/var/lib/mysql/目录中创建一个名为
init_root_password.sql的文件。
在
init_root_password.sql文件中,输入以下内容:
<code>ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';</code>保存
init_root_password.sql文件。 启动 MySQL 服务:
sudo systemctl start mysql
方法 3:使用低级修复工具
-
停止 MySQL 服务:
sudo systemctl stop mysql以 root 用户启动 MySQL:
sudo mysqld --user=root --console
在 MySQL 控制台中输入以下命令:
<code>mysql> UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit</code>
退出 MySQL 控制台。
重启 MySQL 服务:sudo systemctl start mysql
