本篇文章為大家帶來了關於mysql的相關知識,其中主要介紹了關於資料庫角色的相關內容,可以透過角色來實現給使用者授予權限,方便管理擁有相同權限的用戶,下面一起來看一下,希望對大家有幫助。
推薦學習:mysql影片教學
#mysql資料庫的權限的管理,單純的給某一個使用者直接加權限。這樣做有個比較麻煩的地方,就是我們的用戶比較多的時候如果這些用戶的權限還都是一樣的那麼操作起來未免顯得有些冗餘。那我們可以透過角色來實現給使用者授予權限。
角色的理解
# 引入角色的目的是方便管理擁有相同權限的使用者 。 適當的權限設定,可以確保資料的安全性,這是至關重要的
#建立角色
建立角色使用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'];
# 範例:為manager角色授予查看dbtest1資料庫下所有表的權限
##查看角色的權限
#
#只要你建立了一個角色,系統就會自動給你一個「 USAGE 」權限,意思是連接登入資料庫的權限
回收角色的權限
###角色授權後,可以對角色的權限進行維護,並對權限進行新增或撤銷。新增權限使用GRANT語句,與角色 授權相同。撤銷角色或角色權限使用REVOKE語句。 ### #########修改了角色的權限,會影響擁有該角色的帳號的權限。 ### #########撤銷角色權限的SQL語法如下### ###
REVOKE privileges ON tablename FROM 'rolename';######現在我們給manager在加上一個delete的權限,然後把這個權限再收回#### ##########################刪除角色###### #########當我們需要重新整合業務的時候,可能就需要對先前創建的角色進行清理,刪除一些不會再使用的角色。刪除角色的操作很簡單,只要掌握文法結構就好了。 ### ###
DROP ROLE role [,role2]...######注意, 如果你刪除了角色,那麼使用者也失去了透過這個角色所獲得的所有權限 。 ### ###
给用户赋予角色
角色创建并授权后,要赋给用户并处于 激活状态 才能发挥作用。给用户添加角色可使用GRANT语句,语 法形式如下:
GRANT role [,role2,...] TO user [,user2,...];
在上述语句中,role代表角色,user代表用户。可将多个角色同时赋予多个用户,用逗号隔开即可。
例子:创建一个用户叫wang5 然后赋予角色manager,操作如下
用wang5登录并操作
赋予wang5角色manager 注意这个是通过root用户实现的
然后通过wang5登录查看数据库
此时还是看不到dbtest1,这是怎么回事呢?原来我们需要激活角色
激活角色
方式1:使用set default role 命令激活角色
SET DEFAULT ROLE ALL TO 'kangshifu'@'localhost';
现在激活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;
比如撤销 wang5的manager角色,通过root用户
再通过wang5登录看效果
推荐学习:mysql视频教程
以上是mysql資料庫角色的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具