MySQL 8.0でルートユーザーにすべての権限を付与する方法 質問する

MySQL 8.0でルートユーザーにすべての権限を付与する方法 質問する

試してみた

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

取得

エラー 1064 (42000): SQL 構文にエラーがあります。1 行目の 'IDENTIFIED BY 'root' WITH GRANT OPTION' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

注: 以前のバージョンで試したときも同様に動作しました。

また試してみた

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

取得

エラー 1410 (42000): GRANT でユーザーを作成することはできません

MySQL (8.0.11.0) のユーザー名/パスワードは root/root です。

ベストアンサー1

MySQL 8以降では、コマンドを使用して(暗黙的に)ユーザーを作成することはできませんGRANTユーザーを作成代わりに、付与声明:

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

に関するセキュリティリスクについての注意WITH GRANT OPTIONについては、以下を参照してください。

おすすめ記事