ホームページ >データベース >mysql チュートリアル >MySQL アクセス制御システムの概要

MySQL アクセス制御システムの概要

autoload
autoloadオリジナル
2021-03-19 11:32:112587ブラウズ

MySQL は、クライアント操作を処理するための包括的なアクセス ルールを作成し、無許可のクライアントによるデータベース システムへのアクセスを効果的に防止できる、高度なアクセス制御および権限システムを実装しています。


1. クライアントがサーバーに接続するとき、MySQL アクセス制御には 2 つのフェーズがあります:

  • 接続検証 : MySQL データベース サーバーに接続するクライアントには、有効なユーザー名とパスワードが必要です。さらに、クライアントが接続するホストは、MySQL 認証テーブルのホストと一致する必要があります。

  • リクエストの検証: 接続が正常に確立されると、クライアントによって発行されたステートメントごとに、MySQL はクライアントに特定のステートメントを実行するための十分な権限があるかどうかを確認します。 。 MySQL は、データベース、テーブル、フィールド レベルの権限をチェックできます

2. MySQL インストーラー は、mysql という名前のデータベースを自動的に作成します。

mysql データベース には、5 つの主要な認可テーブルが含まれています。 GRANTREVOKE などのステートメントを使用してこれらのテーブルを間接的に操作できます。

  • user テーブル: ユーザー アカウントとグローバル権限列。 MySQL は、user テーブルを使用して、ホストからの接続を受け入れるか拒否します。 user テーブルで付与された権限は、MySQL サーバー上のすべてのデータベースに対して有効です。

  • dbテーブル: データベースレベルの権限が含まれます。 MySQL はデータベース テーブルを使用して、ユーザーがアクセスできるデータベースとホストを決定します。 db テーブルのデータベース レベルで付与された権限は、tablestriggersviews## など、すべてのオブジェクトが属するデータベースに適用されます。 、 ストアド プロシージャ など。

  • table_priv テーブルと columns_priv テーブル: テーブル レベルと列レベルの権限が含まれます。 table_priv テーブルで付与された権限はテーブルとその列に適用されますが、columns_priv テーブルで付与された権限はテーブルの特定の列にのみ適用されます。

  • procs_privテーブル: ストアド関数とストアド プロシージャの権限が含まれています。

MySQL はこれらのテーブルを使用して、MySQL データベース サーバーの権限を制御します。独自の柔軟なアクセス制御システムを実装する前に、これらのテーブルを理解することが重要です。

推奨:

mysql チュートリアル

以上がMySQL アクセス制御システムの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。