修改用户须要有全局的建立用户权限、或系统 mysql 数据库的更新权限。mysql
# 修改当前登陆的用户的密码 ALTER USER USER() IDENTIFIED BY 'auth_string'; # 修改指定用户的密码 ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; # 修改当前用户的密码并对现有密码进行验证,验证失败不会修改 ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password' REPLACE 'current_password'; # 修改指定用户的属性 ALTER USER 'bill'@'localhost' ATTRIBUTE '{"baz": "faz", "foo": "moo"}'; # 删除指定用户的某个属性 ALTER USER 'bill'@'localhost' ATTRIBUTE '{"foo": null}'; # 修改指定用户的 comment 属性 ALTER USER 'bill'@'localhost' COMMENT 'Something about Bill'; # 修改指定用户的 comment 属性为空字符串 ALTER USER 'bill'@'localhost' COMMENT ''; # 删除指定用户的 comment 属性 ALTER USER 'bill'@'localhost' ATTRIBUTE '{"comment": null}'; # 将用户的密码标记为过时,下次登陆必须修改 ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'new_password' PASSWORD EXPIRE; # 修改用户的角色,角色不须要存在 ALTER USER 'joe'@'10.0.0.1' DEFAULT ROLE administrator, developer; # 修改指定用户的密码 SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string'; # 修改当前登陆用户的密码,不须要任何权限 SET PASSWORD = 'auth_string';
账户锁定状态记录在系统表 mysql.user
的 account_locked
列中。sql
ALTER USER 'jeffrey'@'localhost' ACCOUNT LOCK; ALTER USER 'jeffrey'@'localhost' ACCOUNT UNLOCK; # 查看用户的锁定信息 SHOW CREATE USER user
使用锁定的用户登陆,会提示如下内容:数据库
Access denied for user 'user_name'@'host_name'. Account is locked.