MySQLユーザー作成

☆基本的なSQL文は以下です。

CREATE USER ‘user名’@’host名’ IDENTIFIED BY ‘パスワードを入力してね’;

☆以下その他パラメータです。
CREATE USER [IF NOT EXISTS]
user [auth_option] [, user [auth_option]] …
DEFAULT ROLE role [, role ] …
[REQUIRE {NONE | tls_option [[AND] tls_option] …}]
[WITH resource_option [resource_option] …]
[password_option | lock_option] …

auth_option: {
IDENTIFIED BY ‘auth_string’
| IDENTIFIED WITH auth_plugin
| IDENTIFIED WITH auth_plugin BY ‘auth_string’
| IDENTIFIED WITH auth_plugin AS ‘hash_string’
}

tls_option: {
SSL
| X509
| CIPHER ‘cipher’
| ISSUER ‘issuer’
| SUBJECT ‘subject’
}

resource_option: {
MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
}

password_option: {
PASSWORD EXPIRE [DEFAULT | NEVER | INTERVAL N DAY]
| PASSWORD HISTORY {DEFAULT | N}
| PASSWORD REUSE INTERVAL {DEFAULT | N DAY}
| PASSWORD REQUIRE CURRENT [DEFAULT | OPTIONAL]
}

lock_option: {
ACCOUNT LOCK
| ACCOUNT UNLOCK
}

では、実際に作成してみましょう。

まずは現状確認。※ここで、hostとは接続を許可しているクライアントのIPもしくはホスト名が記載されています。デフォルトではローカルマシンからの接続しか受け付けません。詳しくはMySQL権限の確認/変更

select user, host from mysql.user;

それでは、作成。デフォルトのパスワードポリシーはパスワードの文字数などに制限があります。これらはパラメータによって変更できます。(validate_password_policy ,validate_password_length)

CREATE USER ‘testuser’@’%’ IDENTIFIED BY ‘We1come!’;

←MySQLユーザー管理へ