MySQLの認証コマンドgrantの使い方

MySQLの認証コマンドgrantの使い方

この記事の例は MySQL 5.0 以降で実行されます。

ユーザー権限を付与するための MySQL コマンドの簡単な形式は、次のように要約できます。

ユーザーにデータベースオブジェクトに対する権限を付与する

1. 一般データ ユーザーに、データベース内のすべてのテーブルでデータを照会、挿入、更新、および削除する権限を付与します。

common_user@'%' に testdb.* の選択権限を与える
common_user@'%' に testdb.* への挿入を許可する
common_user@'%' に testdb.* の更新を許可します
common_user@'%' に testdb.* の削除権限を与える

または、代わりに MySQL コマンドを使用します。

common_user@'%' に testdb.* の SELECT、INSERT、UPDATE、DELETE 権限を付与します。

2. データベース開発者にテーブル、インデックス、ビュー、ストアド プロシージャ、および関数を作成する権限を付与します。 。 。その他の権限。

MySQL テーブル構造を作成、変更、削除する権限を付与します。

testdb.* に対する作成権限を developer@'192.168.0.%' に付与します。
testdb.* の変更権限を developer@'192.168.0.%' に付与します。
testdb.* に対する drop 権限を developer@'192.168.0.%' に付与します。

MySQL 外部キーを操作する権限を付与します。

testdb.* への参照を developer@'192.168.0.%' に許可します。

MySQL 一時テーブルを操作する権限を付与します。

testdb.* に一時テーブルを作成する権限を developer@'192.168.0.%' に付与します。

MySQL インデックスを操作する権限を付与します。

testdb.* のインデックスを developer@'192.168.0.%' に付与します。

MySQL ビューを操作し、ソース コードを表示する権限を付与します。

testdb.* に対するビューの作成権限を developer@'192.168.0.%' に付与します。
testdb.* の show view 権限を developer@'192.168.0.%' に付与します。

MySQL ストアド プロシージャと関数を操作する権限を付与します。

grant create routine on testdb.* to developer@'192.168.0.%'; -- これで、プロシージャのステータスを表示できます。
grant alter routing on testdb.* to developer@'192.168.0.%'; -- これで、プロシージャを削除できます
testdb.* の実行権限を developer@'192.168.0.%' に付与します。

3. 通常の DBA に MySQL データベースを管理する権限を付与します。

testdb のすべての権限を dba@'localhost' に付与します。

キーワード「privileges」は省略できます。

4. MySQL 内のすべてのデータベースを管理するための上級 DBA 権限を付与します。

*.* のすべての権限を dba@'localhost' に付与する

5. MySQL の許可権限は複数のレベルで適用できます。

1. 許可は MySQL サーバー全体に適用されます。

grant select on *.* to dba@localhost; -- dba は MySQL 内のすべてのデータベースのテーブルをクエリできます。
grant all on *.* to dba@localhost; -- dba は MySQL 内のすべてのデータベースを管理できます

2. 付与は単一のデータベースに適用されます。

grant select on testdb.* to dba@localhost; -- dba は testdb 内のテーブルをクエリできます。

3. Grant は単一のデータ テーブルに対して動作します。

testdb.orders に対する select、insert、update、delete 権限を dba@localhost に付与します。

ここで、ユーザーに対して複数のテーブルを承認する場合、上記のステートメントを複数回実行できます。例えば:

'123345' で識別される mo_user@'%' に smp.users に対する select(user_id,username) を許可します。
'123345' で識別される mo_user@'%' に smp.mo_sms の選択権限を付与します。

4. Grant はテーブル内の列に対して操作を実行します。

testdb.apache_log に対する select(id, se, rank) 権限を dba@localhost に付与します。

5. ストアド プロシージャと関数に対する権限付与:

プロシージャ testdb.pr_add の実行権限を 'dba'@'localhost' に付与します。
関数 testdb.fn_add の実行権限を 'dba'@'localhost' に付与します。

6. MySQLユーザー権限を確認する

現在のユーザー(自分自身)の権限を表示します。

助成金を表示する。

他の MySQL ユーザー権限を表示します。

dba@localhost の権限を表示します。

7. MySQL ユーザーに付与された権限を取り消します。

revoke の構文は grant と似ていますが、キーワード「to」が「from」に置き換えられています。

*.* のすべての権限を dba@localhost に付与します。
dba@localhost から *.* 上のすべての権限を取り消します。

8. MySQL でのユーザー権限の付与と取り消しに関する注意事項

1. ユーザー権限を付与または取り消した後、その権限はユーザーが MySQL データベースに再接続したときにのみ有効になります。

2. 承認されたユーザーが他のユーザーにこれらの権限を付与できるようにするには、「許可オプション」オプションが必要です。

dba@localhost に grant オプション付きで testdb.* の select 権限を付与します。

この機能は通常は使用されません。実際には、データベース権限は DBA によって集中管理するのが最適です。

以上がMySQLでの認可コマンド grant の使い方の詳細です。MySQL 認可コマンド grant の詳細については、123WORDPRESS.COM の他の関連記事もご覧ください。

以下もご興味があるかもしれません:
  • メモを作成するためのMySQL権限管理付与コマンド
  • MySQL Grantコマンドの詳細な説明
  • MySQLの認可コマンド grant の使い方のまとめ

<<:  Linux での stat 関数と stat コマンドの使用法の詳細な説明

>>:  シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)

推薦する

MySQL 5.7 に組み込まれているストレス テストの mysqlslap コマンドと構文の詳細な説明

序文mysqlslap は、MySQL サーバーへのクライアント負荷をシミュレートし、各ステージの時...

React プロジェクトにおける axios カプセル化と API インターフェース管理の詳細な説明

目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...

SSH経由でリモートLinuxシステムでコマンドを実行する方法

場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...

JavaScript のマクロタスクとマイクロタスクの詳細

目次1. マイクロタスクとは何ですか? 2. マクロタスクとは何ですか? 3. 事例3.1 結論4....

Nginx プロキシを使用してフロントエンドのクロスドメイン問題を解決する方法

序文Nginx (「エンジン エックス」と発音) は、リバース プロキシ、ロード バランサ、HTTP...

Ubuntu 18.04 Server に静的 IP を設定する方法

1. 背景Netplan は、Ubuntu システムのネットワーク設定を簡単に管理および構成できるよ...

Javascript Bootstrapのグリッドシステム、ナビゲーションバー、カルーセルの詳細な説明

目次ブートストラップと関連コンテンツの紹介グリッドシステムネストされた列列オフセット列の並べ替えナビ...

Vueでフォームデータを取得する方法

目次必要データを取得して送信するテンプレートフィルターフィルターの使用シナリオ要約する必要Vue を...

CSSインジェクションの知識の要約

最近のブラウザでは、CSS 内で JavaScript を実行することはできなくなりました。以前は、...

HTML のフォームフォームのメソッド属性の紹介

1 メソッドは、データをサーバーに送信する方法を指定するプロパティです。 2 post と get ...

mysql8.0 パスワードを忘れた場合の修正とネットコマンドのサービス名が無効になる問題

cmdにnet start mysqlと入力すると、プロンプトが表示されます: サービス名が無効です...

XHTML CSS ページをプリンタ ページに変換する

以前は、Web ページのプリンタ対応バージョンを作成するには、印刷したときに見栄えがよくなるようにレ...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

MySQL 5.6 から 5.7 にアップグレードする際のマスター スレーブ遅延問題のトラブルシューティング

最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...

Linux に nginx をインストールする方法

Nginx は C 言語で開発されており、Linux で実行することをお勧めします。もちろん、Win...