データベース - SQL 基本構文 - ロール(スキーマ・ユーザ)操作 - 作成

 クラウディア
1. 概要
2. ロール(ROLE)作成(postgreSQL)
3. ユーザ(USER)作成(MySQL)

1. 概要

 作成方法。

2. ロール(ROLE)作成(postgreSQL)

 ROLE(ロール)、postgreSQL での操作。  postgres ユーザで

$ psql
psql (9.6.10)
Type "help" for help.

postgres=#
 psql 上で

CREATE ROLE ロール;
ALTER ROLE ロール WITH SUPERUSER INHERIT NOCREATEROLE CREATEDB LOGIN NOREPLICATION NOBYPASSRLS PASSWORD 'パスワード';
 WITH 以降、PASSWORD に至るまでは、ロールに与える権限によって異なります。

3. ユーザ(USER)作成(MySQL)

 USER(ユーザ)、つまり、MySQL での操作。  root ユーザで、mysql 上で

CREATE USER ユーザ名;
Query OK, 0 rows affected (0.04 sec)
 一応、これで作成できるのですが・・・。  作成されたものを見ると。

SELECT HOST, USER FROM MYSQL.USER;
+-----------+---------------+
| HOST      | USER          |
+-----------+---------------+
| %         | ユーザ名      |
| localhost | root          |
+-----------+---------------+
5 rows in set (0.01 sec)
 「HOST」が「%」になっているのが気にかかるわけです

CREATE USER ユーザ名@localhost;
Query OK, 0 rows affected (0.04 sec)

SELECT HOST, USER FROM MYSQL.USER;
+-----------+---------------+
| HOST      | USER          |
+-----------+---------------+
| localhost | ユーザ名      |
| localhost | root          |
+-----------+---------------+
5 rows in set (0.01 sec)
 てのが正しいようです。