权限对照表
权限 | 权限级别 | 权限说明 |
---|---|---|
create | 数据库、表或索引 | 创建数据库、表或索引权限 |
drop | 数据库或表 | 删除数据库或表权限 |
grant option | 数据库、表或保存的程序 | 赋予权限选项 |
alter | 表 | 更改表,比如添加字段、索引等 |
delete | 表 | 删除数据权限 |
index | 表 | 调用索引权限 |
insert | 表 | 数据写入权限 |
select | 表 | 数据查询权限 |
update | 表 | 数据修改权限 |
create view | 视图 | 创建视图权限 |
show view | 视图 | 查询视图权限 |
alter routine | 存储过程 | 更改存储过程权限 |
create routine | 存储过程 | 创建存储过程权限 |
execute | 存储过程 | 执行存储过程权限 |
file | 服务器 | 文件访问权限 |
create temporary tables | 服务器 | 创建临时表权限 |
lock tables | 服务器 | 锁表权限 |
create user | 服务器 | 创建用户权限 |
process | 服务器 | 查询连接进程权限 |
reload | 服务器 | 执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限 |
replication client | 服务器 | 复制权限 |
show databases | 服务器 | 查看数据库权限 |
shutdown | 服务器 | 关闭服务器权限 |
super | 服务器 | 执行kill线程权限 |
如果是超级管理员用户,可在配置权限时输入 all privileges
操作步骤
-
创建用户
# mysql5 mysql> grant [权限] on [数据库].[数据表] to '[账户]'@'[访问ip]' identified by '[密码]'; # mysql8 mysql> create user '[账户]'@'[访问ip]' identified by '[密码]'; mysql> grant [权限] on [数据库].[数据表] to '[账户]'@'[访问ip]'
all privileges = 所有权限,其余权限参照权限说明, 多个权限使用英文逗号分隔
-
删除用户
mysql> drop user '[账户]'@'[访问ip]';
-
撤销权限
mysql> revoke [权限] on [数据库].[数据表] from '[账户]'@'[访问ip]';
-
修改用户密码
# mysql5 mysql> update user set authentication_string=password('[密码]'); # mysql8 mysql> alter user 'user'@'ip' identified by '密码';