データベース - SQL 基本構文 - ロール(スキーマ・ユーザ)操作 - 作成
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) てのが正しいようです。
$ psql psql (9.6.10) Type "help" for help. postgres=#
CREATE ROLE ロール; ALTER ROLE ロール WITH SUPERUSER INHERIT NOCREATEROLE CREATEDB LOGIN NOREPLICATION NOBYPASSRLS PASSWORD 'パスワード';
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)
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)