LoginSignup
19
11

More than 3 years have passed since last update.

MySQL8でgrantできなかった

Last updated at Posted at 2019-01-23

MySQL8にしたら、GRANTができませんでした。

8ではユーザー作成と権限付与が同時にできないらしいので、先にCREATE USERしてからGRANTします。
(普通は先にユーザー作成すんのが筋だろってだろってことみたい)

mysql8
CREATE USER myuser@'%' IDENTIFIED BY 'password';
GRANT DELETE,INSERT,SELECT,UPDATE ON mydb.* TO myuser@'%';
FLUSH PRIVILEGES;

追記(2020/12/28)

ロールモデルも対応してるので、最近ちゃんとロールを定義するようにしてます。

mysql8
-- ロール作成
CREATE ROLE 'webadmin';
-- ロールに権限付与
GRANT DELETE,INSERT,SELECT,UPDATE ON mydb.* TO 'webadmin';

-- ユーザー作成
CREATE USER myuser@'%' IDENTIFIED BY 'password';
-- ユーザーにロール権限を付与
GRANT 'webadmin' to myuser@'%';
-- デフォルトロールのセット
SET DEFAULT ROLE 'webadmin' TO 'myuser'@'%';

FLUSH PRIVILEGES;

複数のロールを付与した場合はデフォルトロールが使用されます。
SET ROLEで切り替え可能。

mysql8
SET ROLE 'webadmin';
19
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
11