欢迎大家来到IT世界,在知识的湖畔探索吧!
重置MySQL root密码的通用步骤(适用于MySQL 5.7及8.0版本):
方法一:通过跳过权限验证重置密码36
- 停止MySQL服务
# Windows net stop MySQL80 # Linux(systemd系统) sudo systemctl stop mysqld
欢迎大家来到IT世界,在知识的湖畔探索吧!
- 以无权限模式启动MySQL
保持当前终端窗口运行(不要关闭):
欢迎大家来到IT世界,在知识的湖畔探索吧!# 需指定my.ini/my.cnf路径(Windows参考路径示例) mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --skip-grant-tables --shared-memory
- 重置密码
新开一个终端窗口执行:
mysql -u root
- 在MySQL交互界面输入:
欢迎大家来到IT世界,在知识的湖畔探索吧!FLUSH PRIVILEGES; -- 刷新权限(必须执行) ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPass'; -- MySQL 5.7+ -- 或(MySQL 8.0可能需要指定插件) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourNewPass'; FLUSH PRIVILEGES; -- 再次刷新 EXIT;
- 重启MySQL服务
回到第2步的窗口按Ctrl+C终止无权限模式,然后重启服务:
# Windows net start MySQL80 # Linux sudo systemctl start mysqld
方法二:通过初始化文件重置密码4
- 创建初始化文件
新建文本文件mysql-init.txt,写入:
欢迎大家来到IT世界,在知识的湖畔探索吧!ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
- 启动MySQL时加载文件
mysqld --init-file=/path/to/mysql-init.txt --console
- 启动后密码即被修改,完成后删除初始化文件。
其他方法补充12
- 使用mysqladmin(需要旧密码):
欢迎大家来到IT世界,在知识的湖畔探索吧!mysqladmin -u root -p旧密码 password 新密码
- 直接修改user表(需谨慎):
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE user='root'; FLUSH PRIVILEGES;
注意事项7
- 密码复杂度要求:MySQL 8.0默认要求强密码(包含大小写字母、数字、特殊字符)。
- 权限验证插件:若遇到身份验证错误,可指定mysql_native_password插件38。
- 跳过权限模式后必须重启服务,否则存在安全风险。
验证密码是否生效:
欢迎大家来到IT世界,在知识的湖畔探索吧!mysql -u root -p # 输入新密码测试登录
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/125205.html