MySQL基础操作:用户权限管理


1、创建用户:

创建用户指令格式如下:

CREATE USER ‘用户名’@’主机名’ IDENTIFIED BY ‘密码’;

其中:

  • 主机名用于指定该用户在哪个主机上可以登陆,
  • 如果是本地用户可用 localhost
  • 如果想让该用户可以 从任意远程主机登陆,可以使用通配符%

还有视频演示,详见 《 MySQL创建用户 》。

2、用户授权

用户在刚被创建的时候是有权限的,如果我们想让创建的用户发挥作用的话就需要给用户授权。

用户授权指令格式如下:

GRANT 权限1, 权限2, … ON 数据库名.表名 TO ‘用户名’@’主机名’;

权限的具体类别

上述指令中的权限1,权限2即为授予用户的权限,如 CREATE、ALTER、SELECT等。权限的具体类别如下:

权限类别:

  • 管理类
  • 程序类
  • 数据库级别
  • 表级别
  • 字段级别

管理类:

  • CREATE TEMPORARY TABLES
  • CREATE USER
  • FILE
  • SUPER
  • SHOW DATABASES
  • RELOAD
  • SHUTDOWN
  • REPLICATION SLAVE
  • REPLICATION CLIENT
  • LOCK TABLES
  • PROCESS

程序类: FUNCTION、PROCEDURE、TRIGGER

  • CREATE
  • ALTER
  • DROP
  • EXCUTE

库和表级别:DATABASE、TABLE

  • ALTER
  • CREATE
  • CREATE VIEW
  • DROP
  • INDEX
  • SHOW VIEW
  • GRANT OPTION:能将自己获得的权限转赠给其他用户

数据操作

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

字段级别

  • SELECT(col1,col2,…)
  • UPDATE(col1,col2,…)
  • INSERT(col1,col2,…)

所有权限

ALL PRIVILEGES 或 ALL

具体操作流程可看视频演示《 用户权限管理设计方案介绍 》。

3、查看用户被授予的权限

SHOW GRANTS FOR ‘用户名’@’主机名’;

4、撤销用户授权

REVOKE 权限1, 权限2, … ON 数据库.表名;

5、删除用户

DROP USER ‘用户名’@’主机名’;

当我们用mysql账号远程连接mysql服务器时,经常会出现1044或1130的报错,原因就是没权限,解决方法请看《1044解决方案详解》和 《1130解决方案详解》 。


评论区(0)

评论