MySQLの認可コマンド grant の使い方のまとめ

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 の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  モバイルデバイスにおける適応レイアウトの問題に関する簡単な説明 (レスポンシブ、rem/em、Js ダイナミクス)

>>:  CSS で要素を中央揃えにする N 通りの方法

推薦する

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...

CentOSはローカルyumソース/Alibaba Cloud yumソース/163yuanソースを設定し、yumソースの優先順位を設定します。

1. Centosイメージを使用してローカルのyumソースをビルドするCentOS をインストール...

Docker 実行時にユーザーとグループを管理する方法

Docker はプロセスを中核としてシステムリソースを分離する管理ツールです。分離は、オペレーティン...

Centos8 で yum を使用して mongodb 4.2 をインストールする方法

1. リポジトリファイルを作成するmongodb の公式インストール ドキュメントを参照し、次のスク...

Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法

Nginx を使用して同じドメイン名で複数のプロジェクトを構成するには、次の 2 つの方法があります...

iframeを指すaタグのターゲットの名前とIDの違い

コードをコピーコードは次のとおりです。 <iframe id="myFrameId&...

検証例 MySQL | 同じ値を持つフィールドを更新すると、binlog に記録されます

1. はじめに数日前、開発仲間から、フィールドを同じ値に更新すると binlog が記録されるかどう...

CentOS7にNginxをインストールして自動起動を設定する方法

1.公式サイトからインストールパッケージをダウンロードするhttp://nginx.org/en/d...

node.js で EventEmitter をカスタマイズする方法

目次序文1. 何ですか2. Node.jsでEventEmitterを使用する方法3. 実施プロセス...

Windows 2008 Server サブドメインを親ドメインに追加すると、ドメインが既に存在するというエラー メッセージが表示されます。

Windows 2008 Serverのサブドメインを親ドメインに参加させると、「ドメインは既に存...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...

Ubuntu 18.04 のすべての Python ライブラリを一度にアップグレードする方法

ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...

Linux ログ表示方法 6 つのまとめ

バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...

Ubuntu 16.04.4LTS に mininet をインストールする際に発生する問題と解決策

ミニネットMininet は軽量のソフトウェア定義ネットワークおよびテスト プラットフォームです。軽...

Ubuntu に MySQL 5.7 をインストールし、データ ストレージ パスを構成する方法

1. MySQLをインストールするこの記事はAPT経由でインストールされており、インストールされてい...