mysql 权限系统

mysql的所有权限都保存在
  • mysql.user
  • mysql.db
  • mysql.host
  • mysql.table_priv
  • mysql.column_priv

这几个表的数据会在mysql启动时加载到内存

可以用update修改这些表 修改之后要用
flush privileges
命令通知mysql 重新加载权限信息
但是不推荐这样做 更优雅的方式是 用 grant, revoke, drop user来修改权限信息

授权与收权
授权:授予用户xuly,select和update所有数据库对象的权限
grant select,update ON *.* TO 'xuly'@'localhost'

收权:
rovoke

权限作用域
用grant授权时有5个作用域,从大到小依次为
  • global: 用*.*表示
  • database 用database.*表示
  • table    用database.table1表示
  • column   用grant select(id, name) on database.table1表示  
  • routine  只作用于procedure和function 用法与table类似


示例
grant select,delete ON bbs.* TO 'xuly'@'%' 
grant select,delete ON bbs.post TO 'user1'@'%'


授权后会在相应的数据表中插入数据 如下表
  • global    mysql.user
  • database  mysql.db
  • table     mysql.table_priv
  • column    mysql.column_priv  
  • routine   ????


你可能感兴趣的:(mysql,bbs)