权限对照表
| 权限 | 权限级别 | 权限说明 |
|---|---|---|
| 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 '密码';