ホームページ  >  記事  >  データベース  >  mysqlのユーザーテーブルはどこにあるのでしょうか?

mysqlのユーザーテーブルはどこにあるのでしょうか?

青灯夜游
青灯夜游オリジナル
2022-11-08 18:17:134254ブラウズ

ユーザー テーブルは「mysql」という名前のデータベース内にあります。 MySQL は、インストール中に「mysql」という名前のデータベースを自動的に作成します。mysql データベースには、ユーザー権限テーブルが保存されます。ユーザー テーブルは、mysql データベース内で最も重要な権限テーブルであり、サーバーへの接続を許可されたアカウントの記録に使用されます。ユーザー テーブルで有効になっているすべての権限はグローバルであり、すべてのデータベースに適用されます。

mysqlのユーザーテーブルはどこにあるのでしょうか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

ユーザー テーブルは、「mysql」という名前のデータベース内にあります。

MySQL はインストール中に mysql という名前のデータベースを自動的に作成します。mysql データベースにはユーザー権限テーブルが保存されます。ユーザーがログインすると、MySQL はこれらの権限テーブルの内容に基づいて、対応する権限を各ユーザーに付与します。

ユーザー テーブルは MySQL で最も重要な権限テーブルであり、サーバーへの接続を許可されたアカウント情報を記録するために使用されます。ユーザー テーブルで有効になっているすべての権限はグローバルであり、すべてのデータベースに適用されることに注意してください。

mysqlのユーザーテーブルはどこにあるのでしょうか?mysqlのユーザーテーブルはどこにあるのでしょうか?

ユーザー テーブルのフィールド

ユーザー テーブルのフィールドは、大まかに次のとおりです。ユーザー列、権限列、セキュリティ列、リソース制御列の 4 つのカテゴリに分かれており、以下では主にこれらのフィールドの意味を紹介します。

ユーザー列

ユーザー列には、ユーザーが MySQL データベースに接続するときに入力する必要がある情報が保存されます。 MySQL 5.7 バージョンではパスワード フィールドとして Password が使用されなくなり、authentication_string に変更されたことに注意してください。

MySQL バージョン 5.7 のユーザー リストを表 1 に示します。

#ホスト名ユーザーchar(32)NOなしユーザー名認証文字列テキストYESなしパスワード

ユーザーがログインするとき、MySQL データベース システムは、これら 3 つのフィールドが同時に一致する場合にのみログインを許可します。新しいユーザーを作成するとき、これら 3 つのフィールドの値も設定されます。ユーザーのパスワードを変更すると、実際にはユーザー テーブルの authentication_string フィールドの値が変更されます。したがって、これら 3 つのフィールドによって、ユーザーがログインできるかどうかが決まります。

権限列

権限列のフィールドはユーザーの権限を決定し、グローバル スコープ内のデータおよびデータベースに対して許可される操作を記述するために使用されます。

権限は、高度な管理権限と通常の権限の 2 つのカテゴリに大別されます。

  • 高度な管理権限は、サービスを閉じる権限、スーパー権限、および権限など、主にデータベースを管理します。ユーザーの読み込みなど;
  • 通常の権限は、クエリ権限、変更権限など、主にデータベースを操作します。

ユーザー テーブルの権限列には、Select_priv、Insert_priv、および priv で終わるその他のフィールドが含まれます。これらのフィールド値のデータ型は ENUM です。可能な値は Y と N のみです: Y はユーザーが対応する権限を持っていることを意味し、N はユーザーが対応する権限を持っていないことを意味します。セキュリティ上の理由から、これらのフィールドのデフォルト値は N です。

テーブル 1: ユーザー テーブルのユーザー列
フィールド名 フィールド タイプ 空ですか デフォルト値 説明
ホスト char(60) NO なし
#表 2: ユーザー テーブルの権限列フィールド名フィールド タイプ空かどうかデフォルト値説明##Select_privInsert_privUpdate_privDelete_priv #enum ('N','Y')NONDELETE コマンドを使用して既存のデータを削除できますか?enum('N','Y')enum('N','Y')enum('N','Y')enum( 'N','Y')enum('N','Y')enum (' N','Y')enum('N','Y')enum('N','Y')enum('N','Y')enum('N','Y')enum('N', 'Y')enum('N','Y')enum('N','Y')enum('N','Y')enum('N' ,'Y')enum('N',' Y')enum('N','Y')enum('N','Y')enum('N','Y')enum('N','Y')enum(' N','Y')enum('N','Y')#Event_privenum('N','Y')NO#N イベントを作成、変更、削除できるかどうかTrigger_privenum('N','Y') NONトリガーを作成および削除できるかどうかCreate_tablespace_privenum('N','Y') NONテーブルを作成できますか? スペース

権限を変更する場合は、GRANT ステートメントを使用してユーザーに一部の権限を付与するか、UPDATE ステートメントでユーザー テーブルを更新することで権限を設定できます。

セキュリティ列

セキュリティ列は主に、ユーザーが正常にログインできるかどうかを判断するために使用されます。ユーザー テーブルのセキュリティ列を表 3 に示します。

enum('N','Y') NO N SELECT コマンドを使用してデータをクエリできるかどうか
enum('N','Y') NO N INSERT コマンドを通じてデータを挿入できるかどうか
enum(' N','Y' ) NO N UPDATE コマンドを使用して既存のデータを変更できますか?
## Create_priv
NO N 新しいデータベースとテーブルを作成できます Drop_priv
NO N できる既存のデータベースと table Reload_priv
NO を削除します。 N ログ、権限、ホスト、クエリ、テーブルなど、MySQL で使用されるさまざまな内部キャッシュを更新および再ロードする特定のコマンドを実行することは可能ですか Shutdown_priv
NO N MySQL サーバーをシャットダウンできるかどうか。この権限を root アカウント以外のユーザーに付与する場合は、細心の注意を払う必要があります。 Process_priv
NO N SHOW PROCESSLIST コマンドを使用して他のユーザーのプロセスを確認できますか? File_priv
NO N SELECT INTO OUTFILE および LOAD DATA INFILE コマンドを実行できるかどうか Grant_priv
NO N 自分の権限を他のユーザーに付与できますかユーザー? References_priv
NO N 外部キー制約を作成できます Index_priv
NO N インデックスの追加・削除チェックが可能かどうか Alter_priv
NO N テーブル構造の名前変更と変更は可能ですか Show_db_priv
NO N ユーザーが十分なアクセス権を持っているデータベースを含む、サーバー上のすべてのデータベースの名前を表示することは可能ですか Super_priv
NO N それがあるかどうかKILL コマンドによるユーザー プロセスの削除など、いくつかの強力な管理機能を実行することが可能です。SET GLOBAL コマンドは、グローバル MySQL 変数を変更し、レプリケーションとロギングに関するさまざまなコマンドを実行します。 (スーパー権限) Create_tmp_table_priv
NO N 一時テーブルを作成することは可能ですか Lock_tables_priv
NO N LOCK TABLES コマンドを使用してテーブルへのアクセス/変更を防ぐことは可能ですか Execute_priv
NO N ストアド プロシージャを実行できますか? Repl_slave_priv
NO N レプリケートされたデータベース環境を維持するために使用されるバイナリ ログ ファイルを読み取ることはできますか? Repl_client_priv
NO N それは可能ですか?レプリケーション スレーブ サーバーとマスター サーバーの場所を決定します Create_view_priv
NO #ビューを作成できますか? Show_view_priv
NO N はい view を表示できます Create_routine_priv
NO N ストアド プロシージャと関数を変更または破棄できるかどうか Alter_routine_priv
NO N ストアド関数と関数を変更または削除できるかどうか Create_user_priv
NO N 使用される CREATE USER コマンドを実行できるかどうか新しい MySQL アカウントを作成するには
##表 3: ユーザー テーブルのセキュリティ列フィールド名フィールド タイプかどうかemptyデフォルト値説明##ssl_type#ssl_cipherblobNOSSL 標準暗号化セキュリティ フィールドをサポートx509_issuerblobNOx509 標準フィールドのサポートx509_subjectblobNOx509 標準フィールドのサポートpluginchar(64)NOmysql_native_passwordユーザー用プラグインの導入 接続時のパスワード検証、プラグインは外部/プロキシ ユーザーを作成しますpassword_expiredenum('N','Y') NONパスワードの有効期限が切れているかどうか (N は期限切れではない、y は期限切れである)password_last_changedtimestampYES パスワードが最後に変更された時刻を記録しますpassword_lifetimesmallint(5) unsignedYESパスワードの有効期間を日単位で設定しますaccount_lockedenum( 'N','Y')NONユーザーがロックされているかどうか (Y はロック、N はロック解除)#注:password_expired であっても、それが「Y」の場合、ユーザーはそのパスワードを使用して MySQL にログインすることもできますが、操作は許可されません。 通常、標準ディストリビューションは ssl をサポートしていません。読者は SHOW VARIABLES LIKE "have_openssl" ステートメントを使用して、ssl 機能があるかどうかを確認できます。 have_openssl の値が DISABLED の場合、SSL 暗号化機能はサポートされません。
enum('','ANY','X509','SPECIFIED' ) NO SSL 標準暗号化セキュリティ フィールドをサポート

リソース制御列

リソース制御列のフィールドは、ユーザーが使用するリソースを制限するために使用されます。ユーザー テーブルのリソース制御列を表に示します。 4.

表 4: ユーザー テーブルのリソース制御列

フィールド タイプint(11) unsignedint(11) unsignedint(11) unsignedint(11) unsigned デフォルト値は上記のフィールドは 0 です。制限がないことを示します。ユーザーのクエリまたは接続の数が 1 時間以内にリソース制御の制限を超えると、ユーザーはロックされ、次の 1 時間までここで対応する操作を実行できなくなります。これらのフィールドの値は、GRANT ステートメントを使用して更新できます。
フィールド名
はい 空です デフォルト値 説明 max_questions
NO 0 1 時間あたりに許可されるクエリ操作の数を指定します max_updates
NO 0 1 時間あたりに許可される更新操作の数を指定します max_connections
NO 0 1 時間あたりに許可される接続操作の数を指定します max_user_connections
NO 0 同時に確立できる接続の数を指定します

#ユーザー テーブルへのアクセス方法

1. mysql データベースに接続し、デフォルトのデータベース情報をすべて表示します

2. user テーブルは mysql データベースに存在するため、use コマンドでデータベースを切り替えることができます。データベースの場合は、show コマンドを使用してデータベースを表示できます。 のすべてのデータ テーブルについては、最後にユーザー データ テーブルが表示されます。

mysqlのユーザーテーブルはどこにあるのでしょうか?

mysqlのユーザーテーブルはどこにあるのでしょうか?ユーザー テーブルの構造情報は desc コマンドで表示できます。ユーザー テーブルには多くの情報が含まれているため、構造情報も大量にあります。

mysqlのユーザーテーブルはどこにあるのでしょうか?#デフォルトで他のユーザーが作成されない場合、スーパー管理者の情報のみが存在します

mysqlのユーザーテーブルはどこにあるのでしょうか?

[関連する推奨事項:

mysql ビデオ チュートリアル

]mysqlのユーザーテーブルはどこにあるのでしょうか?

以上がmysqlのユーザーテーブルはどこにあるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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