ホームページ >データベース >mysql チュートリアル >MySQL/MariaDB ルート ユーザーに権限がなく、「アクセスが拒否されました」と表示されるのはなぜですか?
「ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES) - 特権がありません?」
このエラーが発生するMySQL の root ユーザーに、実行に必要な権限がない場合。
root ユーザーの Null スキーマ権限
通常、root ユーザーは完全な権限を持っています。ただし、この場合、ルートのスキーマ権限が null であり、権限がまったくないことが報告されています。
さまざまなプラットフォームへの影響
この問題は、ユーザーの異なるプラットフォーム間で MySQL サーバーを操作できる機能。 「[email protected]」としてログインしている場合でも、ユーザーは障害に遭遇しています。
トラブルシューティングの試行
ユーザーは、「フラッシュ ホスト」などのさまざまな解決策を試みました。と「FLUSH PRIVILEGES」ですが、これらは証明されています
MySQL 5.7 の解決策
MySQL 5.7 以降でこの問題が発生している場合、解決策はパスワードベースの認証を有効にすることです:
以下のSQLを実行query:
SELECT user, authentication_string, plugin, host FROM mysql.user;
root ユーザーの「authentication_string」は空であってはいけないことに注意してください。有効な場合は、現在の root パスワードで更新します:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Current-Root-Password>';
権限をフラッシュします:
FLUSH PRIVILEGES;
MariaDB の場合
MariaDB の場合、次のクエリを使用して設定しますroot ユーザーのパスワード:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');
詳細については、https://mariadb.com/kb/en/set-password/ を参照してください。
注:
認証プラグインを無効にするか、root ユーザーのパスワードを変更した後、セキュリティを強化するための「mysql_secure_installation」コマンド。
以上がMySQL/MariaDB ルート ユーザーに権限がなく、「アクセスが拒否されました」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。