如何设置mysql初始root密码_mysql root密码设置方法

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 即可使新凭据即时生效。