欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql 权限系统

程序员文章站 2022-05-08 17:57:21
...
mysql的所有权限都保存在
[list]
[*]mysql.user
[*]mysql.db
[*]mysql.host
[*]mysql.table_priv
[*]mysql.column_priv
[/list]
这几个表的数据会在mysql启动时加载到内存

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

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

收权:
rovoke

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

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


授权后会在相应的数据表中插入数据 如下表
[list]
[*]global mysql.user
[*]database mysql.db
[*]table mysql.table_priv
[*]column mysql.column_priv
[*]routine ????
[/list]
相关标签: MySQL BBS