Mysqlの参考書を勉強中に下記問題に遭遇しました。
問題
下記コードは、権限を付与するGRANT文を使ってユーザの新規作成も同時に行うというものです。
grant all privileges on basic.* to myusr@localhost identified by '12345';
しかし、これを実行したところ下記エラーが発生しました。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '12345'' at line 1
原因
調べたところバージョン8以降はユーザ作成と権限付与を同時に行うことは出来なくなっているというものでした。
解決策
バージョン8以降は
1、ユーザの作成
CREATE USER user IDENTIFIED BY '12345';
2、権限の付与
grant all privileges on basic.* to myusr@localhost;
と、ユーザ作成と権限の付与を分ける必要があるそうです。