Table of Contents
Understanding of roles" >Understanding of roles
Give permissions to the role" >Give permissions to the role
Reclaim the role's permissions" > Reclaim the role's permissions
##Delete role " >##Delete role
激活角色" >激活角色
 撤销用户的角色" > 撤销用户的角色
Home Database Mysql Tutorial Detailed explanation of examples of mysql database roles

Detailed explanation of examples of mysql database roles

Jun 08, 2022 pm 05:28 PM
mysql

This article brings you relevant knowledge about mysql, which mainly introduces the relevant content about database roles. You can grant permissions to users through roles to facilitate the management of users with the same permissions. Users, let’s take a look below, I hope it will be helpful to everyone.

Detailed explanation of examples of mysql database roles

Recommended learning: mysql video tutorial

Mysql database permissions management, simply give it to a certain user directly Add permissions. One troublesome thing about doing this is that when we have a lot of users, if these users all have the same permissions, the operation will be a bit redundant. Then we can grant permissions to users through roles.

Understanding of roles

The purpose of introducing roles is to facilitate the management of users with the same permissions. Appropriate permission settings can ensure data security, which is crucial

Create a role

Create a role using the CREATE ROLE statement, the syntax is as follows:

CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...
Copy after login

Naming rules for role names Similar to username. If host_name is omitted, it defaults to %. role_name cannot be omitted and cannot be empty.

Exercise: Now we need to create a manager role, we can use the following code:

CREATE ROLE 'manager'@'localhost';
Copy after login

The effect is as shown below

Give permissions to the role

After creating a role, the default role is If there is no permission, we need to authorize the role. The syntax structure for granting role authorization is:

GRANT privileges ON table_name TO 'role_name'[@'host_name'];
Copy after login

Example: Grant the manager role permission to view all tables under the dbtest1 database

View role permissions

As long as you create a role, the system will automatically give you a "USAGE" permission, which means the permission to connect to the database

Reclaim the role's permissions

#After the role is authorized, you can maintain the role's permissions and add or revoke the permissions. Add permissions using the GRANT statement, which is the same as role authorization. To revoke a role or role permissions use the REVOKE statement.

Modifying the permissions of a role will affect the permissions of the account that owns the role.

The SQL syntax for revoking role permissions is as follows

REVOKE privileges ON tablename FROM 'rolename';
Copy after login

Now we add a delete permission to the manager, and then take back this permission

##Delete role

When we need to reintegrate the business Sometimes, you may need to clean up previously created roles and delete some roles that will no longer be used. The operation of deleting a character is very simple, you only need to master the grammatical structure. ​ ​

DROP ROLE role [,role2]...
Copy after login

Note that if you delete a role, the user will lose all permissions obtained through this role.        

给用户赋予角色          

角色创建并授权后,要赋给用户并处于 激活状态 才能发挥作用。给用户添加角色可使用GRANT语句,语 法形式如下:          

GRANT role [,role2,...] TO user [,user2,...];
Copy after login

在上述语句中,role代表角色,user代表用户。可将多个角色同时赋予多个用户,用逗号隔开即可。           

例子:创建一个用户叫wang5 然后赋予角色manager,操作如下          

         

用wang5登录并操作

 

赋予wang5角色manager  注意这个是通过root用户实现的

 

然后通过wang5登录查看数据库

此时还是看不到dbtest1,这是怎么回事呢?原来我们需要激活角色

激活角色

方式1:使用set default role 命令激活角色

SET DEFAULT ROLE ALL TO 'kangshifu'@'localhost';
Copy after login

 现在激活manager角色

然后再通过wang5用户登录查看

激活方式2:将activate_all_roles_on_login设置为ON          

 默认情况:

 设置 SET GLOBAL activate_all_roles_on_login=ON;

这条 SQL 语句的意思是,对 所有角色永久激活 。运行这条语句之后,用户才真正拥有了赋予角色的所有 权限。            

那么现在wang5已经被赋予manager角色,我们知道manager角色只是有select的权限。我们做如下操作          

 撤销用户的角色

REVOKE role FROM user;
Copy after login

比如撤销 wang5的manager角色,通过root用户          

         

 再通过wang5登录看效果

推荐学习:mysql视频教程

The above is the detailed content of Detailed explanation of examples of mysql database roles. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MySQL: An Introduction to the World's Most Popular Database MySQL: An Introduction to the World's Most Popular Database Apr 12, 2025 am 12:18 AM

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

How to open phpmyadmin How to open phpmyadmin Apr 10, 2025 pm 10:51 PM

You can open phpMyAdmin through the following steps: 1. Log in to the website control panel; 2. Find and click the phpMyAdmin icon; 3. Enter MySQL credentials; 4. Click "Login".

Why Use MySQL? Benefits and Advantages Why Use MySQL? Benefits and Advantages Apr 12, 2025 am 12:17 AM

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.

MySQL's Place: Databases and Programming MySQL's Place: Databases and Programming Apr 13, 2025 am 12:18 AM

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

How to connect to the database of apache How to connect to the database of apache Apr 13, 2025 pm 01:03 PM

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

How to start mysql by docker How to start mysql by docker Apr 15, 2025 pm 12:09 PM

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

How to install mysql in centos7 How to install mysql in centos7 Apr 14, 2025 pm 08:30 PM

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

See all articles