ALTER USER
説明
ALTER USER文は、パスワードやパスワードポリシーなどを含むユーザーのアカウント属性を変更するために使用されます。
構文
ALTER USER [IF EXISTS] <user_identity> [IDENTIFIED BY <password>]
[<password_policy>]
[<comment>]
password_policy:
1. PASSWORD_HISTORY { <n> | DEFAULT }
2. PASSWORD_EXPIRE { DEFAULT | NEVER | INTERVAL <n> { DAY | HOUR | SECOND }}
3. FAILED_LOGIN_ATTEMPTS <n>
4. PASSWORD_LOCK_TIME { UNBOUNDED | <n> { DAY | HOUR | SECOND }}
5. ACCOUNT_UNLOCK
必須パラメータ
1. <user_identity>
user_identityはユーザーを一意に識別します。構文は:'user_name'@'host'です。
user_identityは2つの部分で構成されており、user_nameとhostです。usernameはユーザー名です。Hostはクライアントが接続するホストアドレスを識別します。host部分では曖昧一致に%を使用できます。hostが指定されていない場合、デフォルトで'%'となり、これはユーザーが任意のホストからDorisに接続できることを意味します。 host部分はドメインとして指定することもでき、構文は:'user_name'@['domain']です。角括弧で囲まれていても、Dorisはこれをドメインと認識し、そのipアドレスの解決を試みます。
オプションパラメータ
1. <password>
ユーザーパスワードを指定します。
2. <password_policy>
password_policyはパスワード認証ログインに関連するポリシーを指定するために使用される句です。現在、以下のポリシーがサポートされています:
PASSWORD_HISTORY { <n> | DEFAULT}現在のユーザーがパスワードをリセットする際に履歴パスワードの使用を許可するかどうか。例えば、
PASSWORD_HISTORY 10は過去10回に設定されたパスワードを新しいパスワードとして使用することを禁止することを意味します。PASSWORD_HISTORY DEFAULTに設定した場合、グローバル変数password_historyの値が使用されます。0はこの機能を有効にしないことを意味します。デフォルトは0です。
PASSWORD_EXPIRE { DEFAULT | NEVER | INTERVAL <n> { DAY | HOUR | SECOND }}現在のユーザーのパスワードの有効期限を設定します。例えば
PASSWORD_EXPIRE INTERVAL 10 DAYはパスワードが10日後に期限切れになることを意味します。PASSWORD_EXPIRE NEVERはパスワードが期限切れにならないことを意味します。PASSWORD_EXPIRE DEFAULTに設定した場合、グローバル変数default_password_lifetimeの値が使用されます。デフォルトはNEVER(または0)で、これは期限切れにならないことを意味します。
FAILED_LOGIN_ATTEMPTS <n>現在のユーザーがログインする際、ユーザーがn回間違ったパスワードでログインするとアカウントがロックされます。例えば、
FAILED_LOGIN_ATTEMPTS 3は3回間違ってログインするとアカウントがロックされることを意味します。
PASSWORD_LOCK_TIME { UNBOUNDED | <n> { DAY | HOUR | SECOND }}アカウントがロックされた際のロック時間を設定します。例えば、
PASSWORD_LOCK_TIME 1 DAYはアカウントが1日間ロックされることを意味します。
ACCOUNT_UNLOCK
ACCOUNT_UNLOCKはロックされたユーザーのロックを解除するために使用されます。
3. <comment>
ユーザーのコメントを指定します。
アクセス制御要件
このSQLコマンドを実行するユーザーは、少なくとも以下の権限を持つ必要があります:
| 権限 | オブジェクト | 注記 |
|---|---|---|
| ADMIN_PRIV | USER or ROLE | この操作はADMIN_PRIV権限を持つユーザーまたはロールのみが実行できます |
使用上の注意
-
このコマンドはバージョン2.0からユーザーロールの変更のサポートを停止しました。関連する操作にはGRANTおよびREVOKEを使用してください
-
ALTER USERコマンドでは、以下のアカウント属性のうち同時に変更できるのは1つだけです:
- パスワードの変更
PASSWORD_HISTORYの変更PASSWORD_EXPIREの変更FAILED_LOGIN_ATTEMPTSとPASSWORD_LOCK_TIMEの変更- ユーザーのロック解除
例
- ユーザーのパスワードを変更する
ALTER USER jack@'%' IDENTIFIED BY "12345";
- ユーザーのパスワードポリシーを変更する
ALTER USER jack@'%' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY;
- ユーザーのロックを解除する
ALTER USER jack@'%' ACCOUNT_UNLOCK
- ユーザーのコメントを変更する
ALTER USER jack@'%' COMMENT "this is my first user"