【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 'ユーザ名'@'%';