MySQL - 用户管理

44 阅读2分钟

权限对照表

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