Rumah > pangkalan data > tutorial mysql > Penjelasan terperinci tentang contoh peranan pangkalan data mysql

Penjelasan terperinci tentang contoh peranan pangkalan data mysql

WBOY
Lepaskan: 2022-06-08 20:51:03
ke hadapan
2177 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql, yang terutamanya memperkenalkan kandungan yang berkaitan tentang peranan pangkalan data Anda boleh memberikan kebenaran kepada pengguna melalui peranan untuk memudahkan pengurusan pengguna dengan kebenaran yang sama, mari lihat di bawah, semoga bermanfaat untuk semua.

Penjelasan terperinci tentang contoh peranan pangkalan data mysql

Pembelajaran yang disyorkan: tutorial video mysql

Pengurusan kebenaran pangkalan data mysql hanya diberikan kepada pengguna tertentu terus Tambah kebenaran. Satu perkara yang menyusahkan tentang melakukan ini ialah apabila kami mempunyai ramai pengguna, jika pengguna ini semua mempunyai kebenaran yang sama, operasi akan kelihatan agak berlebihan. Kemudian kami boleh memberikan kebenaran kepada pengguna melalui peranan.

Pemahaman tentang peranan

Tujuan memperkenalkan peranan adalah untuk memudahkan pengurusan pengguna dengan kebenaran yang sama. Tetapan kebenaran yang sesuai boleh memastikan keselamatan data, yang penting

Cipta peranan

Buat peranan menggunakan pernyataan CREATE ROLE, sintaksnya adalah seperti berikut:

CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...
Salin selepas log masuk

nama peranan Peraturan penamaan ialah serupa dengan nama pengguna. Jika nama_hos diabaikan, ia lalai kepada %. nama_peranan tidak boleh ditinggalkan atau kosong.

Latihan: Kini kita perlu mencipta peranan pengurus, jadi kita boleh menggunakan kod berikut: >

CREATE ROLE 'manager'@'localhost';
Salin selepas log masuk

Berikan kebenaran kepada peranan

Selepas mencipta peranan, ini ialah lalai Peranan tidak mempunyai sebarang kebenaran, kami perlu membenarkan peranan itu. Struktur sintaks untuk memberikan kebenaran peranan ialah:

Contoh: Berikan kebenaran peranan pengurus untuk melihat semua jadual di bawah pangkalan data dbtest1

GRANT privileges ON table_name TO 'role_name'[@'host_name'];
Salin selepas log masuk

Lihat kebenaran peranan

Selagi anda mencipta peranan, sistem akan memberi anda kebenaran "PENGGUNAAN" secara automatik, yang bermaksud kebenaran untuk menyambung ke pangkalan data

Tuntut semula kebenaran peranan

Selepas keizinan peranan, anda boleh mengekalkan kebenaran peranan dan menambah atau membatalkan kebenaran. Tambahkan kebenaran menggunakan pernyataan GRANT, yang sama dengan kebenaran peranan. Untuk membatalkan kebenaran peranan atau peranan gunakan pernyataan REVOKE.

Mengubah suai kebenaran peranan akan menjejaskan kebenaran akaun yang memiliki peranan itu.

Sintaks SQL untuk membatalkan kebenaran peranan adalah seperti berikut

Sekarang kami menambah kebenaran memadam kepada pengurus, dan kemudian mengambil semula kebenaran ini

REVOKE privileges ON tablename FROM 'rolename';
Salin selepas log masuk

Padam peranan Apabila menyepadukan semula, mungkin perlu membersihkan yang dibuat sebelum ini peranan dan padamkan beberapa peranan yang tidak akan digunakan lagi. Operasi memadam aksara adalah sangat mudah, anda hanya perlu menguasai struktur tatabahasa.

​  

Perhatikan bahawa jika anda memadamkan peranan, pengguna akan kehilangan semua kebenaran yang diperoleh melalui peranan ini.

给用户赋予角色          

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

GRANT role [,role2,...] TO user [,user2,...];
Salin selepas log masuk

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

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

         

用wang5登录并操作

 

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

 

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

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

激活角色

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

SET DEFAULT ROLE ALL TO 'kangshifu'@'localhost';
Salin selepas log masuk

 现在激活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;
Salin selepas log masuk

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

         

 再通过wang5登录看效果

推荐学习:mysql视频教程

Atas ialah kandungan terperinci Penjelasan terperinci tentang contoh peranan pangkalan data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan