情景1:失败的连接尝试
用户“alessia”连接服务器时将被拒绝。因为,主机、用户和/或密码与保持在user表中的不匹配, 所以会拒绝用户的请求。
情景2:user表中数据库权限为N,db表中数据库权限为Y
1. 用户wj尝试连接时将会成功。
2. 用户wj试图在数据库oats上执行Select命令。
3. 服务器查看user表,对应于Select命令的条目的值为N,即表示拒绝。
4. 服务器然后查看db表,对应于Select命令的表项的值为Y,即表示允许。
5. 该请求将成功执行,因为该用户的db表中的SELECT字段的值为Y。
情景3:user表中数据库权限为Y,db表中数据库权限为N
1. 用户wj尝试连接时将会成功。
2. 用户wj试图在数据库oats上执行Select命令。
3. 服务器查看user表,对应于Select命令的表项的值为Y,即表示允许。 因为在user表之内授与的权限是全局性的,所以该请求会成功执行。
情景4:user表中数据库权限为N,db表中数据库权限为N
1. 用户wj尝试连接时将会成功。
2. 用户wj试图在数据库oats上执行Select命令。
3. 服务器查看user表,对应于Select命令的表项的值为N,即表示拒绝。
4. 服务器现在会查看db表,对应于Select命令的表项的值为N,即表示拒绝。
5. 服务器现在将查找tables_priv和columns_priv表。如果用户的请求符合表中赋予的权限,则准予访问。 否则,访问就会被拒绝。
对于tables_priv和columns_priv表,后面会进一步加以详述。
情景5:让我们假定下列情况为真:
这时会发生什么情况呢?
1. 用户wj尝试通过一个给定主机进行连接。
2. 假设密码是正确的,那么就会连接成功,因为user表指出只要是通过用户名wj和有关密码进行连接的话,任何(字符%所代表的含义)主机都是允许的。
3. MySQL服务器将查找db表,不过,这里没有指定主机。
4. MySQL服务器现在将查看host表。如果该用户要连接的数据库以及用户建立连接时所在主机的名称都位于host表中,那么该用户就能够按照host表中所列出的权限来执行命令。 否则的话,用户将无法执行命令,实际上更本就无法连接。
通过了解上述情形,读者就应该对授权系统有一定了解了。下面,我们再来仔细聊聊tables_priv表和columns_priv表。
相关视频
相关阅读 Mac OS X 系统上如何升级 Mysql 数据库?mysql数据库root密码忘记的修改方法mysql启动错误1067简单解决办法彻底解决mysql中文乱码的办法Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能mysql自动定时备份数据库的最佳方法-支持windows系统mysql数据库损坏快速修复方法
热门文章 Wordpress本地安装教程dx1.5如何设置二级域名
最新文章
hbuilder有哪些快捷键Wordpress本地安装教程
Wordpress本地安装教程expression web 4文档乱码解决方法dz 2.5“收藏本版”关闭小对话框无法关闭解在制作安装软件之前,您必须先将易语言存盘,
人气排行 如何使用multipart/form-data格式上传文件Photoshop PS图层混合模式详解(非常详细)ISAPI_Rewrite3使用教程网站里添加收藏和设为首页代码桌面快捷方式图标不见了C#获取执行程序所在的当前路径的方法详解(XMLHttpRequest)进行跨域请求方法如何用远程桌面连接进行传输文件
查看所有0条评论>>