【MySQL8.0】データベースとユーザを最速で作成する

細かいことはいいから、とりあえず

  • データベース
  • そのデータベースのみへのフルアクセス権限があるユーザ

を作成する手順。

MySQL 5.7 ではユーザの作成と権限付与がひとつのSQLで実行可能だったが、これが MySQL8.0 ではできなくなっている。

公式

まず、次を決める。

  • データベース名
  • ユーザ名
  • (ユーザの)パスワード

上記が決まったら、下記のSQLを置き換える。

-- DBの作成
CREATE DATABASE データベース名;
-- ユーザの作成
CREATE USER ユーザ名@'%' IDENTIFIED BY 'パスワード';
-- ユーザにDBへの権限を付与
GRANT ALL ON データベース名.* TO ユーザ名@'%' IDENTIFIED BY 'パスワード';

具体例

例えば、次のように決めたとする。

  • データベース名: same-database
  • ユーザ名: same
  • (ユーザの)パスワード: 2SQK2xqHqXnhqJUuUvvJJawDywGvsc

先ほどのSQLを置き換えると、次の通りとなる。

-- DBの作成
CREATE DATABASE same-database;
-- ユーザの作成
CREATE USER same@'%' IDENTIFIED BY '2SQK2xqHqXnhqJUuUvvJJawDywGvsc';
-- ユーザにDBへの権限を付与
GRANT ALL ON same-database.* TO same@'%' IDENTIFIED BY '2SQK2xqHqXnhqJUuUvvJJawDywGvsc';

確認コマンド

-- DB一覧の確認
SHOW DATABASES;
-- ユーザ一覧の確認
SELECT * FROM mysql.user;
-- 該当のユーザの権限の確認
show grants for 'ユーザ名'@'%';
執筆日:
本記事のタグ