用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限

如果用sql grant分配权限的话,参考MYSQL数据库管理之权限管理
基本sql grant命令:
分配用户单个数据库全部权限:grant all on 数据库名.* to 用户名@’%’ identified by ‘密码’;
查询数据库用户权限:show grants for 用户名@’%’;

  1. 创建用户

在这里插入图片描述
在这里插入图片描述


其中的Host配置为%表示所有IP都可以访问

  1. 给新建的用户分配权限
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

重点:

  1. 在最上层的localhost添加权限,是对所有数据库都有效的
  2. 选中单个数据库在点击添加权限,是对选中的一个数据库有效

例如1,分配一个只能操作test数据库的用户权限

例如2,分配用户只能读权限,只能查询数据库



mysql权限

权限

权限级别

权限说明

CREATE

数据库、表或索引

创建数据库、表或索引权限

DROP

数据库或表

删除数据库或表权限

GRANT OPTION

数据库、表或保存的程序

赋予权限选项

REFERENCES

数据库或表

 

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

服务器管理

复制权限

REPLICATION SLAVE

服务器管理

复制权限

SHOW DATABASES

服务器管理

查看数据库权限

SHUTDOWN

服务器管理

关闭数据库权限

SUPER

服务器管理

执行kill线程权限

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐