Navicat配置mysql数据库用户权限问题
作者:新林。
用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限
- 如果用sql grant分配权限的话,参考MYSQL数据库管理之权限管理
 - 基本sql grant命令:
 - 分配用户单个数据库全部权限:grant all on 数据库名.* to 用户名@’%’ identified by ‘密码’;
 - 查询数据库用户权限:show grants for 用户名@’%’;
 
1.创建用户


注:其中的Host配置为%表示所有IP都可以访问
2.给新建的用户分配权限



重点:
- 在最上层的localhost添加权限,是对所有数据库都有效的
 - 选中单个数据库在点击添加权限,是对选中的一个数据库有效
 
例如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线程权限  | 
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
