您的位置:首页 > 数据库 > MySQL

mysql菜鸟手迹13--mysql用户及权限管理

2011-04-21 20:14 232 查看
mysql的用户管理

一个mysql用户包含账户名@机器名 密码,3个部分;

mysql支持的权限类型:管理权限包括,create temporary tables,create user,file,lock tables,process,reload,replication client,replication slave,show databases,shutdown,super;

数据库访问权限:alte,alter routine,create,create routine,create view,delete,drop,execute,grant option,index,insert,select,show view,update;

mysql的一些特殊权限:all 和all privileges这个是all privilieges except grant option的缩写。又有这个权限的用户对数据可以进行任何操作,但是,他不能把自己的权限授予其他人;usage是没有权限,这个允许用户连接数据库服务器,他们只能使用show variables,show stauts查看系统的一些状态;

授权级别:

全局权限,可以对数据服务器其中所有数据进行操作;

数据库权限,可以对数据库进行操作,alter,create,create temporary tables,create view,delete,drop,grant option,index,insert,lock tables,select,show view,and update;

表权限,只能对表进行操作,alter,create,delete,drop,grant option,index,insert,select,and update

列权限,只能对列进行操作,insert,select and update

存储过程和函数的权限,execute,alter routine,and grant option;

授权表:

user表:存放在mysql表中,记录mysql server的所有账户,也存放一些全局的权限,存放了一些资源限制信息,可以通过修改这个表里的某个列,来限制一个用户所使用的资源。对ssl的控制,在这个表里也有体现。

db表:存放数据库级别的权限

table_priv:存放表级别的权限

columns_priv:存放列级别的权限

proce_priv:存放存储过程和函数的权限

mysql启动的时候将授权信息全部载入内存,形成一个内存拷贝

当使用一下命令的时候需要内存刷新,才能生效,create user,grant,revoke or set password;可以使用一个flush privileges的语句或执行一个mysqladmin flush-privileges 或 mysqladmin reload 命令;

创建账户:create user 'jim'@'localhost' identified by '123'; 删除账户:drop user 'jim'@'localhost'

granting Privileges

用户的授权语句结构

授权什么权限

权限级别

被授予的账户是谁

(可选项)密码

grant select on test.* to 'jack'@'localhost' identified by 'jack'; 执行这条命令后,用户会被自动创建;

权限级别

on *.*

on database.*

on database_name.table_name

show grant for 'jack'@'localhost'

grant create,insert on test1.* to 'jack'@'localhost'

grant select (table_name,engine) one test1.t to 'jack'@'localhost'

set password for 'jack'@'localhost' =password('jack');

flush prinvileges;

撤销权限

revole select (table_name) on 'test'.t from 'jack'@localhost

改变密码

set password from 'jim'@'localhost'=PASSWOR('NewPass');

资源限制:

grant all privileges on *.* to 'jack@localhost' whth MAX_QUERISE_PER_HOUR= 2 设定,用户对多登录数据库的次数不到错而,最多只能有1的管理。。

本文出自 “满足现在就是放弃未来!” 博客,请务必保留此出处http://nameyjj.blog.51cto.com/788669/550801
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: