Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


13.7.1.1 ALTER USER 構文

ALTER USER user_specification [, user_specification] ...

user_specification:
    user PASSWORD EXPIRE

ALTER USER ステートメントは、MySQL アカウントを変更します。これを使用するには、mysql データベースに対するグローバルな CREATE USER 権限または INSERT 権限が必要です。

警告

ALTER USER は、MySQL 5.6.6 で追加されました。ただし、5.6.6 で ALTER USERPassword カラムも空の文字列に設定するため、このステートメントは 5.6.7 まで使用しないでください。

各アカウントについて、ALTER USER はそのパスワードを期限切れにします。例:

ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;

各アカウント名には、セクション6.2.3「アカウント名の指定」で説明されている形式が使用されます。アカウント名のユーザー名の部分のみを指定した場合は、'%' のホスト名の部分が使用されます。

アカウントのパスワードを期限切れにすると、mysql.user テーブルの対応する行に影響を与えます。サーバーは、password_expired カラムを 'Y' に設定します。

アカウントのパスワードが期限切れになった場合は、クライアントセッションが制限モードで動作します。制限モードでは、ユーザーが SET PASSWORD ステートメントを発行してアカウントの新しいパスワードを確立するまで、そのセッションで実行された操作はエラーになります。

mysql> SELECT 1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql> SET PASSWORD = PASSWORD('new_password');
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

MySQL 5.6.8 の時点では、この制限された動作モードでは SET ステートメントが許可されます。これは、そのアカウントのパスワードが、old_passwords をそのデフォルトとは異なる値に設定する必要のあるハッシュ形式を使用している場合に役立ちます。

管理ユーザーがアカウントのパスワードをリセットすることも可能ですが、そのアカウントの既存のセッションはすべて制限されたままになります。ステートメントを正常に実行するには、そのアカウントを使用しているクライアントは切断し、再接続する必要があります。

注記

SET PASSWORD を使用してパスワードをその現在の値に設定することによって、パスワードをリセットできます。適切なポリシーとして、別のパスワードを選択することをお勧めします。


User Comments
Sign Up Login You must be logged in to post a comment.