mysql用户最小权限那些事
4583 点击·0 回帖
![]() | ![]() | |
![]() | ×00 mysql用户权限简介
mysql root 用户权限最高,下面我们执行权限查看命令,看下root的权限 show grants for root@localhost //查看root用户权限 +---------------------------------------------------------------------+ | Grants for root@localhost | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +---------------------------------------------------------------------+ 根据上面的输出看出,root 是拥有all privileges ,那么我们把全部的权限列出来 privileges 你可以指定的权限可以分为三种类型: 数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。 Delete: 删除表的记录。 Drop: 删除数据表或数据库。 INDEX: 建立或删除索引。 Insert: 增加表的记录。 Select: 显示/搜索表的记录。 Update: 修改表中已存在的记录。 全局管理MySQL用户权限: file: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 特别的权限: ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录–其它什么也不允许做。 0×01 权限的设置 我们从新开始,先登录root用户,创建个普通用户,用户名和密码 都为leesec insert into mysql.user(Host,User,Password) values('localhost','leesec',password('leesec')); 接下来我们再对leesec用户设置对数据库或者表的各种控制权限 1.对数据库leesec, 表 admin 设置只允许查询、修改、插入 权限 grant select,update,insert on leesec.admin to leesec@localhost identified by 'leesec'; 然后我们登录leesec用户,对表admin 执行删除记录操作 ERROR 1142 (42000): DELETE command denied to user ‘leesec’@'localhost’ for table ‘admin’ 2.给mysql用户leesec对表admin有删除权限 grant delete on leesec.admin to leesec@localhost identified by 'leesec' 3.删除Mysql用户leesec 的删除权限 revoke delete on leesec.admin from leesec@localhost; 现在最小权限设置 你懂的 | |
![]() | ![]() |