MySQL安装后root用户默认为空密码,需用ALTER USER命令设置强密码并执行FLUSH PRIVILEGES生效;旧版本可用SET PASSWORD或mysqladmin,但8.0+推荐ALTER USER配合mysql_native_password插件兼容客户端。

MySQL 安装后 root 用户默认常为空密码(尤其在 Windows 或部分 Linux 发行版中),首次使用需主动设置密码,否则存在严重安全隐患。推荐使用 ALTER USER 命令,这是 MySQL 5.7.6+(特别是 8.0+)的标准且安全的方式。
一、先登录到 MySQL 命令行
打开终端(Windows 可用命令提示符或 PowerShell,Linux/macOS 用 Terminal),执行:
mysql -u root -p
回车后若提示输入密码,直接按回车(空密码);若成功进入 mysql> 提示符,说明当前 root 无密码,可继续设密。
二、用 ALTER USER 设置 root 密码(推荐)
在 mysql> 环境下输入以下语句(注意替换 your_secure_password 为强密码,含大小写字母、数字和符号):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_secure_password';- 如需兼容旧认证插件(例如连接某些客户端报
caching_sha2_password错误),可加插件声明:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_secure_password';
执行后无需额外确认,但必须刷新权限才能立即生效。
三、刷新权限并验证
紧接着运行:
FLUSH PRIVILEGES;
然后退出:exit,再重新登录测试:
-
mysql -u root -p→ 输入刚设的密码 → 成功进入即表示设置完成。
四、其他可用方式(仅限特定场景)
若使用 MySQL 5.7 或更早版本,或需快速重置已知密码,也可用:
-
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_secure_password');(MySQL 8.0+ 已弃用 PASSWORD() 函数,不建议使用) -
mysqladmin -u root -p password "your_secure_password"(需原密码已知,适合已有密码后修改)
注意:修改密码后无需重启 MySQL 服务,FLUSH PRIVILEGES 即可使新凭据即时生效。










