云服务器 ECS MySQL忘记root密码解决办法
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果您在使用阿里云 ECS 实例时忘记了 MySQL 的 root
用户密码,可以通过以下步骤重置密码。以下是针对不同操作系统的详细解决方案:
在重置密码之前,需要先停止 MySQL 服务以确保安全操作。
Alibaba Cloud Linux、CentOS:
sudo systemctl stop mysqld
Ubuntu/Debian:
sudo systemctl stop mysql
通过跳过权限表的方式启动 MySQL,以便无需密码即可登录。
sudo mysqld_safe --skip-grant-tables &
注意:此命令会以后台进程方式运行 MySQL,允许您绕过权限验证。
在安全模式下,您可以直接登录 MySQL 并修改 root
用户的密码。
登录 MySQL:
mysql -u root
切换到 MySQL 系统数据库:
USE mysql;
修改 root
用户密码: 根据 MySQL 版本选择合适的命令:
MySQL 5.7 及以下版本:
UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root';
MySQL 8.0 及以上版本:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
重要提示:新密码必须符合 MySQL 的密码策略要求,即至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总长度至少为 8 个字符。
刷新权限:
FLUSH PRIVILEGES;
退出 MySQL:
EXIT;
完成密码重置后,需要正常重启 MySQL 服务以恢复权限验证。
Alibaba Cloud Linux、CentOS:
sudo systemctl restart mysqld
Ubuntu/Debian:
sudo systemctl restart mysql
使用新密码登录 MySQL,确保密码已成功更新。
mysql -u root -p
输入新密码后,如果成功进入 MySQL 命令行,则说明密码重置成功。
mysql_secure_installation
脚本以进一步增强 MySQL 的安全性。root
用户不允许远程登录。如果需要远程访问,请根据实际需求调整配置。通过上述步骤,您可以成功重置 MySQL 的 root
用户密码并恢复正常操作。