MySQL 的登录名和密码保存在名为 mysql 的数据库中的user表:UserPassword

  • 首先,登录并且选择名为mysql的数据库。

    1
    2
    mysql -u root -p
    mysql> use mysql;
  • 更新 user 表中的 Password

    1
    mysql> UPDATE user SET Password=PASSWORD('新密码') WHERE User='用户名';

Password 的值以加密的形式存储,password() 函数用于加密密码。

  • 刷新 MySQL 的系统权限相关表
    1
    FLUSH PRIVILEGES;

MySQL 用户数据和权限修改之后,希望在不重启 MySQL 服务的情况下直接生效,那么就需要执行这个命令。通常,在修改 root 账号的设置后,怕重启后无法再登录进来,FLUSH PRIVILEGES 之后就可以看设置是否生效,而不必冒太大风险。