ニート道

働きたくないでござる。

MySQL8.0からGRANT構文でユーザを作成する事が出来なくなったのでCREATE USERしてからGRANTで権限を割当ててあげる必要がある件について。

MySQL8.0では、MySQL7.xまでは通っていた以下のようなSQLはエラーになります。 grant all on hogedb.* to 'hogedbuser'@'localhost' identified by 'PASSWORD';

これは、GRANT構文でユーザを作成する事が出来なくなったからで、例えば「hogedbuserを追加してhogedbに対する全ての操作を可能にしたい」という場合は、以下のように実行する必要があります。

create user 'hogedbuser'@'localhost' identified by 'PASSWORD';
grant all on hogedb.* to 'hogedbuser'@'localhost';

ユーザの作成と、権限の割当てはそれぞれ区別する必要があるという事ですね。

ロール機能に関してはちょっと今度ゆっくりドキュメント読む!