Mysql の権限テーブルには次のものが含まれます: 1. ユーザー テーブル、サーバーへの接続が許可されているアカウント情報を記録するために使用されます。このテーブルで有効になっているすべての権限はグローバル レベルであり、すべてのデータベースに適用されます。2. db テーブル、特定のデータベースに対するユーザーの操作権限を保存します; 3. tables_priv テーブル、単一のテーブルの権限を設定するために使用されます; 4. columns_priv テーブル、単一のデータ列の権限を設定するために使用されます; 5. procs_priv テーブル、ストレージに使用されます。関数は権限を設定します。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL データベースでは、権限テーブルには user テーブル、db テーブル、tables_priv テーブル、columns_priv テーブル、および procs_priv テーブルが含まれます。
ユーザー権限テーブル
ユーザー テーブルは MySQL で最も重要な権限テーブルであり、サーバーへの接続を許可されたアカウント情報を記録するために使用されます。 。ユーザー テーブルで有効になっているすべての権限はグローバルであり、すべてのデータベースに適用されることに注意してください。
ユーザー テーブルのフィールドは、ユーザー列、権限列、セキュリティ列、リソース制御列の 4 つのカテゴリに大別できます。
ユーザー列
ユーザー列には、ユーザーが MySQL データベースに接続するときに入力する必要がある情報が保存されます。 MySQL 5.7 バージョンではパスワード フィールドとして Password が使用されなくなり、authentication_string に変更されたことに注意してください。
権限列
権限列のフィールドはユーザーの権限を決定し、グローバル スコープ内のデータおよびデータベースに対して許可される操作を記述するために使用されます。
権限は、高度な管理権限と通常の権限の 2 つのカテゴリに大別されます。
高度な管理権限は、サービスを閉じる権限など、主にデータベースを管理します。スーパー権限と読み込みユーザーなど;
通常の権限は、クエリ権限、変更権限など、主にデータベースを操作します。
ユーザー テーブルの権限列には、Select_priv、Insert_priv、および priv で終わるその他のフィールドが含まれます。これらのフィールド値のデータ型は ENUM です。使用可能な値は次のとおりです。 Y および N: Y はユーザーを表します。対応する権限が存在します。N は、ユーザーが対応する権限を持っていないことを意味します。セキュリティ上の理由から、これらのフィールドのデフォルト値は N です。
権限を変更する場合は、GRANT ステートメントを使用してユーザーに一部の権限を付与するか、UPDATE ステートメントでユーザー テーブルを更新して権限を設定できます。
セキュリティ列
セキュリティ列は主にユーザーが正常にログインできるかどうかを判断するために使用されます。ユーザー テーブルのセキュリティ列は次の表に示すとおりです。 :
フィールド名 | フィールド タイプ | 空かどうか | デフォルト値 | 説明 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ssl_type | enum('','ANY','X509','SPECIFIED') | NO | SSL 標準暗号化セキュリティ フィールドをサポート | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ssl_cipher | blob | NO | SSL 標準暗号化セキュリティ フィールドをサポート | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
blob | NO | x509 標準フィールドのサポート | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
blob | NO | サポートx509 標準フィールド | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#char(64) | NO | mysql_native_password | のプラグインの紹介ユーザー接続時のパスワード検証、プラグイン 外部/プロキシ ユーザーの作成 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enum('N','Y') | NO | N | パスワードの有効期限が切れているかどうか (N は期限切れではない、y は期限切れである) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timestamp | YES | パスワードが最後に変更された時刻を記録します | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
smallint(5) unsigned | YES | パスワードの有効期間を日単位で設定します | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enum('N',' Y') | NO | N | ユーザーがロックされているかどうか (Y はロックされている、N はロックされていない) |
フィールド名 | フィールドタイプ | 空かどうか | デフォルト値 | 説明 |
---|---|---|---|---|
max_questions | int(11) unsigned | NO | 0 | 1 時間あたりに許可されるクエリ操作の数を指定します |
max_updates | int(11) unsigned | NO | 0 | 1 時間あたりに許可される更新操作の数を指定します |
max_connections | int(11) unsigned | NO | 0 | 1 時間あたりに許可される接続操作の数を指定します |
max_user_connections | int(11) unsigned | NO | 0 | 同時に確立できる接続の数を指定します。 |
上記のフィールドのデフォルト値は 0 です。 、制限がないことを示します。ユーザーのクエリまたは接続の数が 1 時間以内にリソース制御制限を超えると、ユーザーはロックされ、次の 1 時間までここで対応する操作を実行できなくなります。これらのフィールドの値は、GRANT ステートメントを使用して更新できます。
db テーブル
db テーブルは一般的に使用され、MySQL データベースの非常に重要な権限テーブルです。テーブルにはユーザーの権限が保存されます。特定のデータベースの操作権限。テーブル内のフィールドは、ユーザー列と権限列の 2 つのカテゴリに大別できます。
ユーザー列
db テーブルのユーザー列には、ホスト、ユーザー、データベースという 3 つのフィールドがあり、特定のホストからデータベースに接続するユーザーを識別します。これら 3 つのフィールドの組み合わせが db テーブルの主キーを構成します。
db テーブルのユーザー リストは次の表のとおりです。
フィールド名 | フィールド タイプ | 空ですか? | デフォルト値 | 説明 |
---|---|---|---|---|
ホスト | char(60) | NO | なし | #ホスト名|
##NO | #なしデータベース名 | ユーザー | char(32) | |
なし | ユーザー名 | 権限列 |
tables_priv テーブルと columns_priv テーブル
tables_priv テーブルは単一のテーブルに対する権限を設定するために使用され、columns_priv テーブルは単一のテーブルに対する権限を設定するために使用されます。単一のデータ列に対する権限を設定します。 tables_priv テーブルの構造は次の表に示されています。
フィールド名
デフォルト値 | 説明 | ホスト | char(60) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
なし | Host | Db | char(64) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | データベース名 | ユーザー | char(32) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
なし | ユーザー名 | テーブル名 | char(64) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
なし | テーブル名 | #Grantor | char(93) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | このレコードを変更したユーザー | タイムスタンプ | timestamp | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CURRENT_TIMESTAMP | レコードを変更する時刻 | Table_priv | set( '選択','挿入','更新','削除',' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO |
None | は、テーブルに対する操作権限 (選択、挿入、更新、削除など) を示します。 、作成、ドロップ、付与、参照、インデックスと変更など。Column_priv | set('Select','Insert','Update','References ') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | テーブル内の列に対する操作権限 (選択、挿入、更新、参照など) を示します | ## columns_priv テーブルの構造は次の表のとおりです。
# #procs_priv テーブルは、ストアド プロシージャとストアド関数に対する権限を設定できます。procs_priv のテーブル構造は表に示すとおりです: フィールド名
|
以上がmysqlの権限テーブルとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。