MySQL 8.0 で root ユーザーにすべての権限を付与する
MySQL の以前のバージョンでは、root ユーザーにすべての権限を付与するのは次の方法で簡単でした。 GRANT コマンド。ただし、MySQL 8.0 では、このアプローチでは構文エラーが発生します。
エラーが発生しました
次の構文を使用してすべての権限を付与しようとすると、
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
次のエラー発生:
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 'root' WITH GRANT OPTION' at line 1.
改訂されたアプローチ
MySQL 8 以降、GRANT コマンドを使用したユーザーの作成はサポートされなくなりました。代わりに、次の 2 段階のプロセスが必要です。
1.ユーザーの作成
CREATE USER コマンドを使用して、root ユーザーを作成します。
CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
2.権限の付与
次に、GRANT コマンドを使用してすべての権限を付与します。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
最終ステップ
変更が確実に反映されるようにするには効果、フラッシュします権限:
FLUSH PRIVILEGES;
注意
WITH GRANT OPTION を使用してすべての権限を付与すると、重大なセキュリティ リスクが伴います。十分に注意し、必要な権限のみを付与することをお勧めします。ユーザー権限とセキュリティの詳細については、MySQL のドキュメントを参照してください。
以上がMySQL 8.0 ルート ユーザーにすべての権限を付与するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。