スペルミスのようなものでもなく、参考書自体も今年の3月に第二版として発行されているので、それだけ短期間の間に文法が変わるものなのかなとは思います。
ユーザーを作成するために実行したコマンドは以下の通りです。
GRANT ALL PRIVILEGES ON basic.* TO myuser@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
です。
また、念のためユーザー目とホスト名をシングルクオーテーションで囲ってみましたが、結果は同じでした
mysqlのバージョンは、
Ver 8.0.11 for Win64 on x86_64 (MySQL Community Server - GPL)
動作環境は、Windows10 Pro 1803 OSビルド17134.48
mysqlはコマンドプロンプトを管理者権限で実行して操作しました。
その本が前提にしているのは、Mysql 5.x 系じゃないでしょうか。
grant の構文が変更されてます。
Ver 5.6
https://dev.mysql.com/doc/refman/5.6/ja/grant.html
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user_specification [, user_specification] ... [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}] [WITH with_option ...] ... user_specification: user [ | IDENTIFIED WITH auth_plugin [AS 'auth_string'] IDENTIFIED BY [PASSWORD] 'password' ★ ]
Ver 8.0
https://dev.mysql.com/doc/refman/8.0/en/grant.html
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user_or_role [, user_or_role] ... [WITH GRANT OPTION] ... user_or_role: { user ★ | role }
GRANT ALL PRIVILEGES ON basic.* TO myuser@localhost IDENTIFIED BY '12345';
のところは、こうなるかと。
CREATE USER 'myuser'@'localhost' IDENTIFIED BY '12345'; GRANT ALL PRIVILEGES ON basic.* TO 'myuser'@'localhost';
あら、前は効いてた style 属性が消されるようになってる (´・ω・`)
2018/05/18 14:10:46引用範囲の最後のセンテンスを赤くしたつもりでした。
ありがとうございます。
2018/05/18 14:13:51一月ほど前の変更だったのですね。
確かに権限付与が、ユーザー作成を兼ねるというのはおかしな気がします。