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の方法の分析

この記事では、例を使用して、MySQL を使用して正規表現に基づくあいまい文字列置換を実装する方法を...

IE ラベル LI テキスト折り返し問題について

私は長い間この問題に悩まされていましたが、検索してみたところ、実際にこの問題を解決した人がいることが...

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...

MySQL テーブルにおける非主キー列オーバーフロー監視の詳細な説明

今日もまた罠に落ちてしまいました。 私は以前MySQLの主キーオーバーフローに遭遇したことがあり、そ...

Linux でアップロードされたファイルのスケジュールされたバックアップと増分バックアップを実装する方法

導入Alibaba Cloud のような OSS ストレージ サービスを使用している場合は、サービス...

コンテンツウェブページの画像プレビューのデザイン

<br />以前、「コンテンツページ番号のプレビューナビゲーション」と「写真プレビューナ...

nginx 設定ファイルパスとリソースファイルパスを表示する方法

nginx 設定ファイルのパスを表示する nginx -t 経由nginx -t コマンドの本来の機...

VUE レンダリング機能の使い方と詳細な説明

目次序文レンダリングの役割レンダリング機能の説明レンダリングとテンプレートの違いレンダリング例要約す...

Linux 脆弱性スキャンツール lynis の使用分析

はじめに: Lynis は、徹底的なセキュリティ スキャンを実行できる Unix システム用のセキュ...

Centos7 ベースの Nginx Web サイト サーバーの構築の詳細説明 (仮想 Web ホストの構成を含む)

1. Nginx サービス基盤Nginx (エンジン x) は、パフォーマンスの最適化のために特別...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

docker を使用して Redis マスター/スレーブを構築する方法

1. Docker環境を構築する1. Dockerfileを作成する Centos:latest か...

MySQLへの外部ネットワークアクセスを許可し、MySQLアカウントのパスワードを変更する方法

mysqlのrootアカウント、普段はlocalhostか127.0.0.1で接続しています。会社の...

Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...

Docker に MySQL をデプロイする例

目次1 コンテナクラウドとは何ですか? 2 Dockerの紹介3 dockerを使ってMySQLをイ...