search
LoginSignup
11
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

MySQL8でgrantできなかった

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';

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
What you can do with signing up
11
Help us understand the problem. What are the problem?