created: 2021-04-11T03:40:25.000Z
MySQLで最初にユーザとデータベースを作成する
アプリを作り始めるときにやる手順。MySQL8での作業。
データベースの作成
COLLATE
は、utf8mb4_bin
が一番厳密な区別(全角/半角の区別など)を行ってくれるのでまずそれを検討し、アプリの要件によっては utf8mb4_ja_0900_as_cs
など少し親切なものを使う。
CREATE DATABASE myapp DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
ユーザの作成
いったん権限はすべてつけて作成してしまう。一通り作業がひと段落したらアプリごとの要件によって棚卸し。
CREATE user 'myappadmin' @'localhost' IDENTIFIED by 'xxxxxxxxxxxxxxxxx';
GRANT ALL ON myapp.* TO 'myappadmin' @'localhost' WITH GRANT OPTION;
なお、 FLUSH PRIVILEGES
は権限管理専用のステートメントを使っていれば不要なんだそうだ。