ALTER USER
修改已经存在的 EloqSQL 账户
使用前提
使用ALTER USER
需要有全局的CREATE USER
权限或者针对mysql
数据库的UPDATE
权限。如果数据库系统开启了只读(read_only)权限,则还需要有全局的SUPER
权限(超级用户)。
概述
ALTER USER [IF EXISTS]
user_specification [authentication_option] ...
[REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
[WITH resource_option [resource_option] ...]
[lock_option] [password_option]
参数解释:
IF EXISTS
:当使用 IF EXISTS 子句时,如果指定的用户不存在,MariaDB 将返回一个警告而不是错误。user_specification
:需要修改的 EloqSQL 账户名,账户名的指定方式与CREATE USER
语句相同。authentication_option
:修改账户的身份验证方式。EloqSQL 支持同时对一个账户使用多种身份验证方式,例如密码或者 socket。具体可以查看CREATE USER
中的验证方式。TLS option
:使用传输层安全性(TLS)协议在服务器和客户端之间加密数据。resource_option
:为某些账户设置特定的资源限制。lock_option
支持帐户锁定,允许特权管理员锁定/解锁用户帐户password_option
:用于设置账户密码的过期时间。
具体用法示例
- 修改已创建用户
'mono'@'%'
的密码为'monopd'
ALTER USER IF EXISTS 'mono'@'%' IDENTIFIED BY 'monopd';
- 修改当前用户的密码为'monopd'
ALTER USER CURRENT_USER() IDENTIFIED BY 'monopd';
- 设置用户
'mono'@'%'
密码过期时间为 10 天/永久/默认
ALTER USER 'mono'@'%' PASSWORD EXPIRE INTERVAL 10 DAY;
ALTER USER 'mono'@'%' PASSWORD EXPIRE NEVER;
ALTER USER 'mono'@'%' PASSWORD EXPIRE DEFAULT;
- 对用户
'mono'@'%'
进行锁定/解锁
ALTER USER 'mono'@'%' ACCOUNT LOCK;
ALTER USER 'mono'@'%' ACCOUNT UNLOCK;
- 设置用户
'mono'@'%'
的可以接受的实时连接数(MAX_USER_CONNECTIONS)为 5,每个小时可以执行的 SQL 语句数量为 400,执行的语句超时(MAX_STATEMENT_TIME)时间为 100
ALTER USER 'mono'@'%' WITH
MAX_USER_CONNECTIONS 5
MAX_QUERIES_PER_HOUR 200
MAX_STATEMENT_TIME 100;
MySQL 兼容性
ALTER USER
语句与 MySQL 8.0 的“ALTER USER”功能几乎完全兼容。
更多详情,请参考mariadb