MySQLでgrantコマンドを使用する方法

coldplay.xixi
リリース: 2020-07-11 17:33:58
転載
2988 人が閲覧しました

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

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

grant 权限 on 数据库对象 to 用户
ログイン後にコピー

関連学習の推奨事項: mysql ビデオ チュートリアル

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

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'
ログイン後にコピー

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

grant select, insert, update, delete on testdb.* to common_user@'%'
ログイン後にコピー

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

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

grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';
ログイン後にコピー

grant MySQL 外部キーを操作する権限。

grant references on testdb.* to developer@'192.168.0.%';
ログイン後にコピー

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

grant create temporary tables on testdb.* to developer@'192.168.0.%';
ログイン後にコピー

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

grant index on testdb.* to developer@'192.168.0.%';
ログイン後にコピー

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

grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';
ログイン後にコピー

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

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';
ログイン後にコピー

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

grant all privileges on testdb to dba@'localhost'
ログイン後にコピー

このうち、キーワード「privileges」は省略可能です。

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

grant all on *.* to 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. 付与は単一のデータに適用されますtable Above:

grant select, insert, update, delete on testdb.orders to dba@localhost;
ログイン後にコピー

複数のテーブルをユーザーに許可する場合、上記のステートメントを複数回実行できます。例:

grant select(user_id,username) on smp.users to mo_user@'%' identified by '123345';
grant select on smp.mo_sms to mo_user@'%' identified by '123345';
ログイン後にコピー

4. 付与はテーブル内の列に作用します:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;
ログイン後にコピー

5. 付与はストアド プロシージャと関数に作用します:

grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function testdb.fn_add to 'dba'@'localhost'
ログイン後にコピー

6. ビューMySQL ユーザー権限

現在のユーザー (自分) 権限の表示:

show grants;
ログイン後にコピー

他の MySQL ユーザー権限の表示:

show grants for dba@localhost;
ログイン後にコピー

7. 取り消しが許可されましたMySQL ユーザー権限の権限へ。

revoke の構文は付与と同様で、キーワード「to」を「from」に置き換えるだけです:

grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
ログイン後にコピー

8. MySQL の付与、ユーザー権限の取り消し 注

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

2. 承認されたユーザーがこれらのアクセス許可を他のユーザーに付与したい場合は、「付与オプション」オプションが必要です。

grant select on testdb.* to dba@localhost with grant option;
ログイン後にコピー

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

以上がMySQLでgrantコマンドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!