この記事の例は、MySQL 5.0 以降で実行されます。
MySQL ユーザー権限を付与するコマンドの簡単な形式は次のように要約できます:
grant 権限 on データベースオブジェクト to ユーザー
1. 通常の権限を付与データユーザー、クエリ、挿入、データベース内のすべてのテーブル データを更新および削除する権利。
grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@ '%'
grant testdb.* to common_user@'%'grant
削除 上で testdb.* に common_user@'%' または、代わりに MySQL コマンドを使用します:
grant
select
, insert 、更新、削除 on testdb .* to common_user@'%' 2. データベース開発者に権限を与え、テーブル、インデックス、ビュー、ストアド プロシージャ、関数を作成します。 。 。およびその他の権限。
MySQL データテーブル構造を作成、変更、削除する権限を付与します。
grant create testdb.* to開発者@'192.168.0.%';
grant alter テストデータベース上* to開発者@'192.168.0.%';grant
ドロップontestdb.*to開発者@'192.168.0.%' ;
grantは、MySQLの外部キー権限を操作します。
grant
リファレンス on testdb.* to開発者@'192.168.0.%'; MySQL 一時テーブルを操作する権限を付与します。
grant create 一時テーブルon testdb.* to開発者@'192.168.0.%'; MySQL インデックスを操作する権限を付与します。
grant index
on testdb.* to開発者@'192.168.0.%'; MySQL ビューを操作し、ソース コードを表示する権限を付与します。
grant create view on testdb.* to開発者@'192.168.0.%';
grant show testdb を表示します。 * developer@'192.168.0.%'へ MySQL ストアド プロシージャと関数。 grant createルーチンontestdb.* todeveloper@'192.168.0.%'
--プロシージャステータスを表示できるようになりました
;
助成金 testdb.* のルーチンを変更 developer@'192.168.0.%' -- これで、プロシージャを削除できますgrantexecute
に testdb.* 開発者@'192.168.0.%'へ
3. 一般の DBA に MySQL データベースを管理する権限を付与します。 grant all privileges testdb to dba@'localhost' その中で、キーワードは「特権」 」は省略可能です。 4. 上級 DBA に MySQL のすべてのデータベースを管理する権限を付与します。 grant all on *
.
*
to dba@
'
localhost' 5. MySQL の権限付与は複数のレベルで適用できます。
1. Grant は MySQL サーバー全体で機能します:
grant select on *.* to dba@localhost;すべての MySQL をクエリするデータベース内のテーブル。 grant
all on *.* to dba@localhost -- dba は MySQL 内のすべてのデータベースを管理できます 2. 付与は単一のデータベースで動作します: grant select on testdb.* to dba@localhost; -- dba は testdb 内のテーブルをクエリできます。
3. グラントは単一のデータテーブルで動作します: grant select、insert 、更新、削除 testdb.orders to dba@localhost;
複数のテーブルをユーザーに許可する場合、上記のステートメントは次のようになります。複数回実行される。例: grant select(user_id,username) on smp.users to mo_user@'%'identified by ' 12 3345';
grant
select on
smp.mo_sms to mo_user@'%'が特定されましたby '123345';
4. 付与はテーブル内の列に作用します:
grant select(id, se, Rank) on testdb.apache_log to dba@localhost;
5. Grant はストアド プロシージャと関数で機能します:
grant execute on procedure testdb.pr_add to 'dba '@'ローカルホスト '
grant execute on function testdb.fn_add to 'dba'@'localhost' 6. MySQL ユーザー権限を表示します 現在のユーザー (自分) 権限を表示します。 補助金を表示する; 他の MySQL ユーザー権限を表示します: showgrants for dba@localhost;
7. MySQL ユーザー権限に付与されている権限を取り消します。 Revokeには同様の構文が付与され、キーワードを「」から「」に置き換えるだけです。 取り消し
.*
8. MySQL のユーザー権限の付与と取り消しに関する注意事項 1. ユーザー権限を付与した後、ユーザー権限を取り消します。権限を有効にするには、ユーザーは MySQL データベースに再接続する必要があります。 2. 承認されたユーザーが他のユーザーにこれらの権限を付与したい場合は、オプション「grant option」が必要ですgrant select on testdb.* to dba@ localhost with grant option;
この機能は通常は使用されません。実際には、データベース権限は DBA によって均一に管理されるのが最適です。
以上がMySQL認可コマンドgrantの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。