この記事では、mysql に関する関連知識を提供します。主にデータベース ロールに関する関連コンテンツを紹介します。ロールを通じてユーザーにアクセス許可を付与すると、同じアクセス許可を持つユーザーの管理が容易になります。ユーザーは、しましょう。以下をご覧ください。皆さんのお役に立てれば幸いです。
推奨学習: mysql ビデオ チュートリアル
Mysql データベースの権限管理。特定のユーザーに直接与えるだけです。権限。これを行う際の問題点の 1 つは、多数のユーザーがいる場合、これらのユーザーがすべて同じ権限を持っている場合、操作が少し冗長になることです。次に、ロールを通じてユーザーに権限を付与できます。
ロールを導入する目的は、同じ権限を持つユーザーの管理を容易にすることです。 適切な権限設定により、データ セキュリティが確保されます。これは非常に重要です
CREATE ROLE ステートメントを使用してロールを作成します。構文は次のとおりです。
CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...
ロール名の命名規則 ユーザー名と同様。 host_name を省略した場合、デフォルトは % になります。role_name は省略できず、空にすることもできません。
演習: 次に、マネージャー ロールを作成する必要があります。次のコードを使用できます:
CREATE ROLE 'manager'@'localhost';
結果は以下のようになります
ロールの作成後、デフォルトのロールは次のとおりです。 権限がない場合は、ロールを承認する必要があります。ロールの承認を付与するための構文構造は次のとおりです。
GRANT privileges ON table_name TO 'role_name'[@'host_name'];
例: マネージャー ロールに、dbtest1 データベース内のすべてのテーブルを表示する権限を付与します
ロールを作成している限り、システムは自動的に「USAGE」権限を付与します。これは、データベースに接続する権限を意味します。
#ロールが承認された後、ロールの権限を維持し、権限を追加または取り消すことができます。 GRANT ステートメントを使用して権限を追加します。これはロールの承認と同じです。ロールまたはロール権限を取り消すには、REVOKE ステートメントを使用します。
ロールの権限を変更すると、そのロールを所有するアカウントの権限に影響します。
ロール権限を取り消すための SQL 構文は次のとおりです
REVOKE privileges ON tablename FROM 'rolename';
次に、マネージャーに削除権限を追加し、この権限を取り戻します
DROP ROLE role [,role2]...
角色创建并授权后,要赋给用户并处于 激活状态 才能发挥作用。给用户添加角色可使用GRANT语句,语 法形式如下:
在上述语句中,role代表角色,user代表用户。可将多个角色同时赋予多个用户,用逗号隔开即可。 例子:创建一个用户叫wang5 然后赋予角色manager,操作如下
用wang5登录并操作 赋予wang5角色manager 注意这个是通过root用户实现的 然后通过wang5登录查看数据库
此时还是看不到dbtest1,这是怎么回事呢?原来我们需要激活角色 方式1:使用set default role 命令激活角色 现在激活manager角色
然后再通过wang5用户登录查看
激活方式2:将activate_all_roles_on_login设置为ON
默认情况:
设置 SET GLOBAL activate_all_roles_on_login=ON; 这条 SQL 语句的意思是,对 所有角色永久激活 。运行这条语句之后,用户才真正拥有了赋予角色的所有 权限。 那么现在wang5已经被赋予manager角色,我们知道manager角色只是有select的权限。我们做如下操作
比如撤销 wang5的manager角色,通过root用户
再通过wang5登录看效果
推荐学习:mysql视频教程
给用户赋予角色
GRANT role [,role2,...] TO user [,user2,...];
激活角色
SET DEFAULT ROLE ALL TO 'kangshifu'@'localhost';
撤销用户的角色
REVOKE role FROM user;
以上がmysqlデータベースロールの例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。