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

MySQL之用户权限管理

程序员文章站 2022-05-08 12:32:41
...
昨天在Linux下实现在MySQL的远程访问,今天主要研究下授权管理。
MySQL,包括其它一些数据库,权限的管理主要涉及两个命令grant和revoke。
GRANT ALL|SELECT,DELETE... TO 用户名@用户地址 identified by '连接口令';
REVOKE ALL|SELECT,DELETE...FROM 用户名@用户地址 identified by '连接口令';
刚开始看文档,觉得文档格式有点小复杂,写了几条发现,其实很好记忆,授权与回收权限语句只有两个部分不同:
1.命令不同,grant与revoke。命令不同这个很好理解。
2.TO与FROM的差别。这个也很好理解,一个是授予给别人,所以用to,另一个是从别人那收回所以用from。
这里有两个对称的例子,加强记忆:
grant  insert on *.* to   'root'@'192.168.1.2' identified by 'asdfasdf';
revoke insert on *.* from 'root'@'192.168.1.2' identified by 'asdfasdf';

以下附普通用户权限:
SELECT 表,列允许用户从表中选择行(记录)
INSERT 表,列允许用户在表中插入新行
UPDATE 表,列允许用户修改现存表里行中的值
DELETE 表,允许用户删除现存表的行
INDEX 表, 允许用户创建和拖动特定表索引
ALTER 表,允许用户改变现存表的结构 例如,可添加列、重命名列或表、修改列的数据类型
CREATE数据库,表 允许用户创建新数据库或表
DROP数据库,表允许用户拖动(删除)数据库或表


管理员权限权限描述
CREATE TEMPORARY TABLES允许管理员在CREATE TABLE语句中使用TEMPORARY关键字
FILE允许将数据从文件读入表,或从表读入文件
LOCK TABLES允许使用LOCK TABLES语句
PROCESS允许管理员查看属于所有用户的服务器进程
RELOAD允许管理员重新载入授权表、清空授权、主机、日志和表格
REPLICATION CLIENT允许在复制主机(Master)和从机(Slave)上使用SHOW STATUS
REPLICATION SLAVE允许复制从服务器连接到主服务器
SHOW DATABASES允许使用SHOW DATABASES语句查看所有的数据库列表。没有这个权限,用户只能看到他们能够看到的数据库
SHUTDOWN允许管理员关闭MySQL服务器
SUPER允许管理员关闭属于任何用户的线程

特别的权限权限描述
ALL(或ALL PREVILEGES)授予所有权限
USAGE不授予权限。这将创建一个用户并允许他登录,但不允许其他操作,如update/select 等