首页 > 网站开发文档 > 网站设计与开发 > 阅读

网站开发之MySQL权限分配

分享到:
作者:阿飞 来源:特嘉聚 浏览:1386 日期:08-18 我要评论(0)

今天因为老大按排了个任务,优化下公司一项目的Mysql数据库,数据库一直用得还算顺手啦,只是懂怎么用,不懂其原理,要优化肯定先得学习一下原理,还是从安全入手吧,再怎么优化安全第一,首先来讲讲MYSQL的权限分配吧。

保证一个数据库的安全应该从四个方面去着手
1、外围网络的安全 局域网中的数据库比广域网中的数据库安全
2、主机的安全 尽量减少局域网内恶意入侵者登录数据库,篡改(删除)数据
3、数据库本身的安全 通过MySQL自带的权限系统、配置文件设置控制MySQL访问操作权限
4、代码的安全 SQL注入/业务逻辑的漏洞


数据库权限信息在grant tables系统表中(user,db,host,table_priv,column_priv)
权限的授予使用grant命令,去除使用revoke命令
查看用户权限使用 show grants from 'username'@'userhost'语句
权限分配的5个级别
1、全局权限控制(global level)
使用 *.* 设置权限 前一个'*'表示数据库,后一个'*'表示表名

grant ACTION on *.* to 'username'@'hostname'
ACTION:alter,alter routine,create,create routine,create temporary tables,create user
create view,delete,drop,execute,file,index,insert,lock tables,process,reload
replication client,replication slave,select,show databases,show view,shutdown
super,update,usage,

2、数据库权限控制(database level)
grant ACTION on databasename.* to 'username'@'hostname'
ACTION:alter,alter routine,create,create routine,create temporary tables
create view,delete,drop,execute,index,insert,lock tables
select,show view,update

3、表权限控制(table level)
grant ACTION on databasename.tablename to 'username'@'hostname'
ACTION:alter,create,delete,drop,index,insert,select,update

4、字段(列)权限控制(column level)
grant ACTION(column1,column2,…) on databasename.tablename to 'username'@'hostname'
ACTION:select,update,insert

5、常规权限控制(Routine level)
grant ACTION on databasename.tablename to 'username'@'hostname'
ACTION:execute,alter routine
6、grant all on databasename,tablename to 'username'@'hostname'

将自身所拥有的所有权限授予某个用户

每一个高层级的权限设置都会覆盖低层级的权限设置

globel>database>table>column

转自:LICORIL的个人博客 www.leifc.com (表示感谢)

我要评论

昵称:
点击刷新

网友评论

合作咨询

  • 已有 736 位客户做了同样的选择

微信扫一扫 立即开始咨询

搜索公众号:tejiaju
客户服务热线:028-66886061     QQ:635355028
© 2000-2021 四川特嘉聚科技有限公司 版权所有 蜀ICP备15001814号-5