位置: 编程技术 - 正文

MySQL验证用户权限的方法(mysql中用户和权限的作用)

编辑:rootadmin

推荐整理分享MySQL验证用户权限的方法(mysql中用户和权限的作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql中用户和权限的作用,mysql用户登录权限,mysql身份验证,mysql用户身份验证查询的是哪个表,mysql对用户进行验证,mysql用户身份验证查询的是哪个表,mysql用户登录权限,mysql对用户进行验证,内容如对您有帮助,希望把文章链接给更多的朋友!

知识归纳

因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host。如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排

基本观点越精确的匹配越优先 Host列上,越是确定的Host越优先,[localhost, ..1.1, wiki.yfang.cn] 优先于[..%, %.yfang.cn],优先于[.%, %.cn],优先于[%] User列上,明确的username优先于空username。(空username匹配所有用户名,即匿名用户匹配所有用户) Host列优先于User列考虑

当你登录mysql服务器之后,你可以使用user()和current_user()来检查你登陆的用户。

user() 返回你连接server时候指定的用户和主机 current_user() 返回在mysql.user表中匹配到的用户和主机,这将确定你在数据库中的权限MySQL验证用户权限的方法(mysql中用户和权限的作用)

当你登录服务器并执行MySQL的命令时,系统将检查你当前的用户(current_user)是否有权限进行当前操作。

首先检查user表中的全局权限,如果满足条件,则执行操作 如果上面的失败,则检查mysql.db表中是否有满足条件的权限,如果满足,则执行操作 如果上面的失败,则检查mysql.table_priv和mysql.columns_priv(如果是存储过程操作则检查mysql.procs_priv),如果满足,则执行操作 如果以上检查均失败,则系统拒绝执行操作。

测试过程创建3个用户名相同,HOST和权限都不同的USER

从另外一个机器登陆过来

明确的user,host,进行精确匹配,找到用户为'bruce'@'..0.'删除掉这个用户再登陆

此时匹配的用户是bruce@%然后把这个用户也删除,再登陆

此时匹配的是''@'%' 用户

对于空用户,默认有对test或test开头的数据库有权限。

本文链接地址:https://www.jiuchutong.com/biancheng/312328.html 转载请保留说明!

上一篇:Mysql命令大全(详细篇)(mysql基本命令大全)

下一篇:MySQL查看表和清空表的常用命令总结(mysql查询表清单)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络