この記事では、MySQLでユーザーの詳細を入力するためのさまざまな方法について説明します。次のいずれかの方法でユーザーのリストを表示できます。
- MySQLワークベンチ
- MySQLコマンドラインツール。
環境S etup
デモのために、Windows10にMySQLServer 8.0をインストールし、NisargUという名前のユーザーを作成しました。以下のクエリを実行してユーザーを作成します。
mysql> create user NisargU identified by '[email protected]';
出力
次のクエリを実行して、NisargUユーザーに特権を付与します。
mysql> Grant ALL on *.* to 'NisargU';
出力
それでは、MySQLコマンドラインツールを使用してユーザーのリストを作成する方法を見てみましょう。
ユーザーをで表示する方法 MySQL C オマンド-L ine T ool
SHOW TABLEとは異なり、SHOW DATABASESMySQLServerにはSHOWUSERSコマンドがありません。システムテーブルでクエリを実行することで、ユーザーの詳細を入力できます。システムテーブルからデータを取得する方法を見てみましょう。
例1.MySQLですべてのユーザーを表示する
mysql.Userを使用できます MySQLサーバーで作成されたユーザーのリストを作成するためのテーブル。
クエリ
mysql> select host as `Host Name` ,user as `User Name` from mysql.user;
出力
注: テーブルで上記のクエリを実行するには、ユーザーにDBAロールが付与されている必要があります。
ユーザーに関する詳細情報を入力する場合は、mysql.userテーブルから列を追加できます。 mysql.userテーブルの構造を表示するには、次のクエリを実行します。
クエリ
mysql>DESC mysql.user;
出力
例2.特定のユーザーの詳細を表示する
すべてのユーザーのホスト名、ユーザー名、パスワードの有効期限ステータス、およびパスワードの変更日を入力するとします。これを行うには、次のクエリを実行します。
mysql> select Host, User, authentication_string ,password_expired, password_last_changed from mysql.user where user='NisargU';
出力
例3.現在のユーザーを表示する
MySQLサーバーに接続しているユーザーにデータを入力するとします。 user()を使用できます またはcurrent_user() 働き。まず、 NisargUを使用してMySQLサーバーに接続しましょう ユーザー。
MySQLに接続するためのクエリ:
C:\Users\Nisarg>mysql -u NisargU -p
出力
USER()関数を使用してユーザーを表示するためのクエリ:
mysql> select user() as `Connected User`;
出力
current_user()を使用してユーザーを表示するためのクエリ 機能:
mysql> select current_user() as `Connected User`;
出力
例4.データベースおよびアソシエートユーザーのリストを表示する
たとえば、データベースと関連ユーザーのリストにデータベースを追加するとします。 mysql.db にクエリを実行すると、情報を入力できます。 テーブル。
クエリ:
mysql> SELECT host,db, user FROM mysql.db;
出力:
NisargUユーザーに割り当てられた特権の詳細を入力する場合は、次のクエリを実行します。
mysql> SELECT * FROM mysql.db where user='NisargU' \G;
出力
例5.MySQLサーバーに接続しているユーザーを表示する
MySQLサーバーに接続しているユーザーのリストを作成する場合は、 information_schema.processlistでクエリを実行できます。 テーブル。
クエリ
mysql> select ID, User, Host, DB, command,time `Query execution time`, state `Query execution status` from information_schema.processlist;
出力
ご覧のとおり、MySQLサーバーに接続しているユーザーは4人です。
それでは、MySQLワークベンチを使用してユーザーのリストを作成する方法を見てみましょう。
Vの方法 つまり、 P rivileges G Uに怒鳴られた sers
SHOW GRANTS()関数を使用して、特定のユーザーに付与された特権のリストを作成できます。
注: クエリの出力が長いため、MySQLワークベンチを使用して出力を表示しました。
NisargUユーザーに付与された特権を設定するとします。これを行うには、以下のクエリを実行します。
mysql> show grants for NisargU;
出力
MySQLワークベンチを使用して特権を持つユーザーのリストを表示する方法を見てみましょう。
MySQLWorkbenchでユーザーを表示する方法
MySQLワークベンチからユーザーの詳細を表示できます。 MySQL Workbenchを開き、ルートログインを使用してサーバーに接続します。
ナビゲーターパンで、管理をクリックします タブ。 [管理]セクションで、[ユーザーと権限]をクリックします 。
右側のペインに、MySQLサーバーで作成されたユーザーのリストが表示されます。詳細を表示するには、リストから任意のユーザーを選択します。
これで、選択したユーザーの次の詳細を表示できます。
ログインの詳細
ログイン [詳細]タブでは、ログイン名、認証タイプ、認証文字列など、ユーザーの詳細を表示できます。
アカウントの制限
アカウントの制限 タブでは、次のパラメータを設定できます:
- アカウントが1時間以内に実行できるクエリの総数。
- アカウントが1時間あたりに実行できる更新ステートメントの合計。
- アカウントが1時間にサーバーに接続できる回数。
- サーバーへの同時接続の数。
この例では、 NisargUのデフォルト設定を使用しました ユーザー。
管理者の役割
管理者の役割 タブで、ユーザーに割り当てられたグローバル特権と管理者ロールを表示できます。私たちの場合、 DBAを付与しました NisargUへの役割 ユーザー。
スキーマ特権
スキーマ特権 タブで、特定のデータベースでユーザーに付与された特権のリストを表示できます。このデモでは、 INSERT、UPDATE、DELETE、SELECT、EXECUTEを付与しています。 およびビューを表示 SakiladbでのNisargUユーザーへの役割 データベース。
概要
「MySQLでユーザーを取得する方法は? 」は、ジュニアデータベース管理者が尋ねる非常に一般的な質問です。この記事では、MySQLサーバーで作成されたユーザーを表示するためのさまざまな方法について説明しました。 MySQLワークベンチとMySQLコマンドラインツールを使用してリストを取得する方法を学びました。