MySQL では、ユーザーに付与された権限をどのように確認しますか? ユーザーに付与される権限は、グローバル レベルの権限、データベース レベルの権限、テーブル レベルの権限、列レベルの権限、およびサブルーチン レベルの権限に分けられます。具体的なカテゴリーは以下の通りです。 グローバルレベル グローバル権限は、特定のサーバー内のすべてのデータベースに適用されます。これらの権限は mysql.user テーブルに保存されます。 GRANT ALL ON *.* および REVOKE ALL ON *.* は、グローバル権限のみを付与および取り消します。 データベースレベル データベース権限は、特定のデータベース内のすべてのオブジェクトに適用されます。これらの権限は、mysql.db および mysql.host テーブルに保存されます。 GRANT ALL ON db_name.* および REVOKE ALL ON db_name.* は、データベース権限のみを付与および取り消します。 テーブルレベル テーブル権限は、特定のテーブル内のすべての列に適用されます。これらの権限は、mysql.tables_priv テーブルに保存されます。 GRANT ALL ON db_name.tbl_name および REVOKE ALL ON db_name.tbl_name は、テーブル権限のみを付与および取り消します。 列レベル 列の権限は、特定のテーブル内の単一の列に適用されます。これらの権限は、mysql.columns_priv テーブルに保存されます。 REVOKE を使用する場合は、付与される列と同じ列を指定する必要があります。 サブルーチンレベル CREATE ROUTINE、ALTER ROUTINE、EXECUTE、および GRANT 権限は、ストアド ルーチンに適用されます。これらの権限は、グローバル レベルまたはデータベース レベルで付与できます。また、CREATE ROUTINE を除き、これらの権限はサブプログラム レベルで付与でき、mysql.procs_priv テーブルに格納されます。 1: 次に、テスト アカウント test を作成し、グローバル レベルの権限を付与します。以下のように表示されます。 mysql> 'test' によって識別される test@'%' に *.* の select、insert を許可します。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) マイSQL> 次に、次の 2 つの方法を使用して、テストに付与された権限を照会できます。以下のように表示されます。 mysql> テストの権限を表示します。 +----------------------------------------------------------------------------------------------------------------+ | テスト@% の助成金 | +----------------------------------------------------------------------------------------------------------------+ | パスワード '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' で識別される 'test'@'%' に *.* の SELECT、INSERT 権限を付与 | +----------------------------------------------------------------------------------------------------------------+ セット内の 1 行 (0.00 秒) mysql> mysql.user から * を選択し、user='test'\G と入力します。 ************************** 1. 行 **************************** ホスト: % ユーザー: テスト パスワード: *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 選択特権: Y 挿入権限: Y 更新権限: N 削除権限: N 作成権限: N ドロップ権限: N リロード権限: N シャットダウン権限: N プロセス権限: N ファイル権限: N 権限付与: N 参照権限: N インデックス権限: N 権限変更: N 表示_db_priv: N スーパー特権: N 作成_tmp_table_priv: N ロックテーブル権限: N 実行権限: N Repl_slave_priv: N Repl_client_priv: N 作成ビュー権限: N 表示権限: N 作成ルーチン権限: N ルーチン権限の変更: N ユーザー権限の作成: N イベント特権: N トリガー権限: N テーブルスペース作成権限: N SSL_タイプ: SSL暗号: x509_発行者: x509_件名: 最大質問数: 0 最大更新回数: 0 最大接続数: 0 最大ユーザー接続数: 0 プラグイン:mysql_native_password 認証文字列: パスワードの有効期限: N セット内の1行(0.04秒) エラー: クエリが指定されていません マイSQL> 2: 次に、テスト アカウント test を作成し、データベース レベルの権限を付与します。以下のように表示されます。 mysql> ユーザーテストを削除します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 'test' で識別される test@'%' に、MyDB.* に対する select、insert、update、delete 権限を許可します。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) マイSQL> mysql> select * from mysql.user where user='test'\G; --権限がないことがわかります。 mysql> mysql.db から user='test'\G を選択して * を実行します。 ************************** 1. 行 **************************** ホスト: % データベース: MyDB ユーザー: テスト 選択特権: Y 挿入権限: Y 更新権限: Y 削除権限: Y 作成権限: N ドロップ権限: N 権限付与: N 参照権限: N インデックス権限: N 権限変更: N 作成_tmp_table_priv: N ロックテーブル権限: N 作成ビュー権限: N 表示権限: N 作成ルーチン権限: N ルーチン権限の変更: N 実行権限: N イベント特権: N トリガー権限: N セット内の1行(0.04秒) エラー: クエリが指定されていません マイSQL> mysql> テストの権限を表示します。 +--------------------------------------------------------------------------------------------------------------------+ | テスト@% の助成金 | +--------------------------------------------------------------------------------------------------------------------+ | パスワード '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' で識別される 'test'@'%' に *.* の使用権限を付与 | | `MyDB`.* に対する SELECT、INSERT、UPDATE、DELETE 権限を 'test'@'%' に付与します | +--------------------------------------------------------------------------------------------------------------------+ セット内の 2 行 (0.00 秒) マイSQL> 3: 次に、テスト アカウント test を作成し、テーブル レベルの権限を付与します。以下のように表示されます。 mysql> ユーザーテストを削除します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> MyDB.kkk のすべての権限を、'test' で識別される test@'%' に付与します。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) マイSQL> mysql> テストの権限を表示します。 +--------------------------------------------------------------------------------------------------------------------+ | テスト@% の助成金 | +--------------------------------------------------------------------------------------------------------------------+ | パスワード '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' で識別される 'test'@'%' に *.* の使用権限を付与 | | `MyDB`.`kkk` のすべての権限を 'test'@'%' に付与します | +--------------------------------------------------------------------------------------------------------------------+ セット内の 2 行 (0.00 秒) mysql> mysql.tables_priv\G から * を選択します。 ************************** 1. 行 **************************** ホスト: % データベース: MyDB ユーザー: テスト テーブル名: kkk 付与者: root@localhost タイムスタンプ: 0000-00-00 00:00:00 Table_priv: 選択、挿入、更新、削除、作成、ドロップ、参照、インデックス、変更、ビューの作成、ビューの表示、トリガー 列の権限: セット内の1行(0.01秒) エラー: クエリが指定されていません マイSQL> 4: 次に、テスト アカウント test を作成し、列レベルの権限を付与します。以下のように表示されます。 mysql> ユーザーテストを削除します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> MyDB.TEST1 に対して、'test' で識別される test@'%' に select (id, col1) を許可します。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) マイSQL> mysql> mysql.columns_priv から * を選択します。 +------+------+-------+-------------+-------------+-----------------------------+ | ホスト | Db | ユーザー | テーブル名 | 列名 | タイムスタンプ | 列権限 | +------+------+-------+-------------+-------------+-----------------------------+ | % | MyDB | テスト | TEST1 | id | 0000-00-00 00:00:00 | 選択 | | % | MyDB | テスト | TEST1 | col1 | 0000-00-00 00:00:00 | 選択 | +------+------+-------+-------------+-------------+-----------------------------+ セット内の 2 行 (0.00 秒) mysql> テストの権限を表示します。 +--------------------------------------------------------------------------------------------------------------------+ | テスト@% の助成金 | +--------------------------------------------------------------------------------------------------------------------+ | パスワード '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' で識別される 'test'@'%' に *.* の使用権限を付与 | | `MyDB`.`TEST1` に対して 'test'@'%' に SELECT (id, col1) 権限を付与します | +--------------------------------------------------------------------------------------------------------------------+ セット内の 2 行 (0.00 秒) マイSQL> 5: 次に、テスト アカウント test を作成し、サブプログラム レベルの権限を付与します。以下のように表示されます。 mysql> PRC_TESTが存在する場合はプロシージャを削除します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 区切り文字 // mysql> プロシージャ PRC_TEST() を作成します -> 開始 -> kkk から * を選択; -> 終了 // クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 区切り文字 ; mysql> プロシージャ MyDB.PRC_TEST の実行権限を、'test' で識別される test@'%' に付与します。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) マイSQL> mysql> テストの権限を表示します。 +--------------------------------------------------------------------------------------------------------------------+ | テスト@% の助成金 | +--------------------------------------------------------------------------------------------------------------------+ | パスワード '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' で識別される 'test'@'%' に *.* の使用権限を付与 | | プロシージャ `MyDB`.`prc_test` の実行権限を 'test'@'%' に付与します | +--------------------------------------------------------------------------------------------------------------------+ セット内の 2 行 (0.00 秒) mysql> mysql.procs_priv から User='test' を選択して * を実行します。 +------+------+------+--------------+--------------+----------------+-----------+--------------------+ | ホスト | Db | ユーザー | ルーチン名 | ルーチン タイプ | 付与者 | Proc_priv | タイムスタンプ | +------+------+------+--------------+--------------+----------------+-----------+--------------------+ | % | MyDB | テスト | PRC_TEST | 手順 | root@localhost | 実行 | 0000-00-00 00:00:00 | +------+------+------+--------------+--------------+----------------+-----------+--------------------+ セット内の 1 行 (0.00 秒) マイSQL> したがって、ユーザーに付与された権限を表示する必要がある場合は、これらの 5 つのレベルから付与された権限を表示する必要があります。上から下へ、または小さいレベルから大きいレベルへ、各レベルに付与されている権限を 1 つずつ確認します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue は Tencent Map を統合して API を実装します (デモ付き)
>>: Ubuntu 18.04の下のディレクトリにディスクをマウントします
最近、モバイルページを制作する際には、レイアウトにインラインブロック要素がよく使われますが、インライ...
目次簡単なコンポーネントの例より複雑な親子コンポーネントのケースオンセレクトの書き方反応する子供Re...
1. CentOSイメージをダウンロードする1.1 ダウンロードウェブサイトhttp://mirro...
1. KVM仮想マシンの移行方法と注意すべき点KVM 仮想マシンを移行する方法は 2 つあります。...
最近、Docker の学習や実際の運用で多くの問題に遭遇したので、それを記録するためにブログを書きま...
みなさんこんにちは。私は梁旭です。ご存知のとおり、Linux ではデバイス ファイルも含めすべてがフ...
//デフォルトプロトコル/ デフォルト プロトコルの使用は、リソース アクセス プロトコルが現在の...
元の派生コマンド: bin/sqoop インポート -connect jdbc:mysql://19...
ビルドを無効にするパーティション式では、次の構成はサポートされません。ストアドプロシージャ、ストアド...
質問: div+css と配置を使用して角丸四角形を実現するにはどうすればよいですか?ソリューション...
成果を達成するコードは次のとおりですhtml <テンプレート> <div> ...
この記事では、参考までに、簡単なタイマー機能を実装するためのvue.jsの具体的なコードを紹介します...
IE で CSS3 を使用して角を丸くする方法を探していたときに、例を見つけました。まだテストして...
目次ショートポーリングロングポーリングウェブソケットコミュニケーションの原則シンプルな1対1チャット...
参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...