MySQL - 用户及权限管理

141 阅读2分钟

本篇将详细介绍如何使用MySQL管理数据库用户

(1):创建用户

mysql5
    mysql> grant [权限] on [数据库].[数据表] to '[账户]'@'[访问ip]' identified by '[密码]'
mysql8
    mysql> create user '[账户]'@'[访问ip]' identified by '[密码]'
    mysql> grant [权限] on [数据库].[数据表] to '[账户]'@'[访问ip]'

[权限]
    all privileges = 所有权限
    其余权限参照权限说明, 多个权限使用英文逗号分隔

(2):删除用户

mysql> drop user '[账户]'@'[访问ip]'

(3):撤销权限

mysql> revoke [权限] on [数据库].[数据表] from '[账户]'@'[访问ip]'

[权限]
    all = 全部
    其余权限参照权限说明, 多个权限使用英文逗号分隔

(4):修改用户密码

[mysql5.7及以下]
    mysql> update user set authentication_string=password('[密码]')
[mysql8]
    mysql> alter user 'user'@'ip' identified by '密码'

 

权限说明

【权限】            【权限级别】            【权限说明】
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线程权限