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 通りの方法

推薦する

mysql data_dirの変更によって発生するエラー問題を解決する

今日は、新しく購入した Alibaba Cloud ECS 環境 (Ubuntu 16.04 LTS...

Linux環境でよく使われるMySQLコマンドの紹介

mysql コマンドを入力します: mysql -u+(ユーザー名) -p+(パスワード) mysq...

JSはカード配布アニメーションを実現します

この記事の例では、カード配布アニメーションを実装するためのJSの具体的なコードを参考までに共有してい...

CSS3 のフレックスレイアウト幅の無効性の解決策

2 列レイアウトはプロジェクトでよく使用されます。この効果を実現する方法はたくさんあります。 しかし...

フロントエンド Vue ユニットテストを始める

目次1. ユニットテストはなぜ必要なのでしょうか? 2. ユニットテストの書き方3. テストツール4...

Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

目次1. 画像1. 鏡とは何ですか? 2. 画像の構成と目的(1) Dockerファイル(2)スクラ...

Hタグはウェブページ制作において適切に使用すべきである

HTML タグには、ページのタイトルを処理するための特別なタグがあります。これらは h1、h2、h3...

HTML フォーマットの json のサンプルコード

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...

JavaScriptのスリープ関数の使用

目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...

CSS3 のボックス サイズ設定 (コンテンツ ボックスとボーダー ボックス) の詳細な説明

CSS3 のボックス サイズ設定 (content-box と border-box) CSS3 の...

CSS3 タイムラインアニメーション

成果を達成する html <h2>CSS3 タイムライン</h2> <...

DockerでMySQLコンテナを作成する簡単な手順

序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...

Vue は URL に基づいて非同一オリジンのファイルをどのようにダウンロードするのか

一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...

MySQL ツリー構造データベース テーブル設計

目次序文1. 基本データ2. 継承駆動設計3. 左右の値のエンコーディングに基づく設計4. ツリー構...