MySQL可以为不同的用户分配严格的、复杂的权限。这些操作大多都可以用SQL指令Grant(分配权限)和Revoke(回收权限)来实现。 Grant可以把指定的权限分配给特定的用户,如果这个用户不存在,则会创建一个用户。

Grant 常用格式:

grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。

比较重要的是priveleges(权限)。 
普通用户的权限权限应用于描述 
SELECT表,列允许用户从表中选择行(记录) 
INSERT表,列允许用户在表中插入新行 
UPDATE表,列允许用户修改现存表里行中的值 
DELETE表允许用户删除现存表的行 
INDEX表允许用户创建和拖动特定表索引 
ALTER表允许用户改变现存表的结构。例如,可添加列、重命名列或表、修改列的数据类型 
CREATE数据库,表允许用户创建新数据库或表。如果在GRANT中指定了一个特定的数据库或表,他们只能够创建该数据库或表,即他们必须首先删除(Drop)它 
DROP数据库,表允许用户拖动(删除)数据库或表

管理员权限权限描述 
CREATE TEMPORARY TABLES允许管理员在CREATE TABLE语句中使用TEMPORARY关键字 
FILE允许将数据从文件读入表,或从表读入文件 
LOCK TABLES允许使用LOCK TABLES语句 
PROCESS允许管理员查看属于所有用户的服务器进程 
RELOAD允许管理员重新载入授权表、清空授权、主机、日志和表格 
REPLICATION CLIENT允许在复制主机(Master)和从机(Slave)上使用SHOW STATUS 
REPLICATION SLAVE允许复制从服务器连接到主服务器 
SHOW DATABASES允许使用SHOW DATABASES语句查看所有的数据库列表。没有这个权限,用户只能看到他们能够看到的数据库 
SHUT DOWN允许管理员关闭MySQL服务器 
SUPER允许管理员关闭属于任何用户的线程 

特别的权限权限描述 
ALL(或ALL PREVILEGES)授予所有权限 
USAGE不授予权限。这将创建一个用户并允许他登录,但不允许其他操作,如update/select 等

实例:

例如:
mysql>grant select,insert,update,delete on test.user to mql@localhost identified by ‘123456′;
给本地的用户mql分配可对数据库test的user表进行select,insert,update,delete操作的权限,并设定口令为 123456。若mql用户不存在,则将自动创建此用户. 具体的权限控制在mysql.db表中可以查看到.也可直接对这个表进行更新操作进行权限的修改.

mysql>grant all privileges on test.* to mql@localhost identified by ‘123456′;
给本地用户mql分配可对数据库test所有表进行所有操作的权限,并设定口令为123456。

mysql>grant all privileges on *.* to mql@localhost identified by ‘123456′;
给本地用户mql分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。

mysql>grant all privileges on *.* to mql2@61.127.46.128 identified by ‘123456′;
给来自61.127.46.128的用户mql2分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。

REVOKE 
REVOKE和作用和GRANT相反,语法格式为: 
REVOKE privileges ON 数据库名[.表名] FROM user_name

例如:
创建用户Bob,密码为“bob”,但不给他任何权限: 
GRANT usage on * to Bob identified by ’bob’; 
授予Bob在books数据库中的查询和插入权限: 
GRANT select, insert on books.* to  Bob; 
取消Bob在books数据库中的所有权限: 
REVOKE all on books.* from Bob; 
注:需要指出的是,REVOKE all...仅仅是回收用户的权限,并不删除用户。在MySQL中,用户信息存放在mysql.User中。MySQL可以通过DROP USER来彻底删除一个用户,其用法为:
DROP USER user_name;  
例如,要删除用户Bob,可以用: 
DROP USER Bob;

MYSQL用户权限管理(Grant,Revoke)的更多相关文章

  1. MYSQL用户权限管理GRANT使用

    http://yanue.net/post-97.html GRANT语句的语法: mysql> grant 权限1,权限2,-权限n on 数据库名称.表名称 to 用户名@用户地址 iden ...

  2. Mysql 用户权限管理

    1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 . mysql权限表 ...

  3. mysql 用户权限管理详细

    用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...

  4. MYSQL用户权限管理学习笔记

    MYSQL 用户管理 1.权限表 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: (1)       超级管理员用户(root),拥有全部权限 (2)       普通用户,由roo ...

  5. Mysql 用户权限管理--从 xxx command denied to user xxx

    今天遇到一个mysql 权限的问题,即标题所述  xxx command denied to user xxx,一般mysql 这种报错,基本都属于当前用户没有进行该操作的权限,需要 root 用户授 ...

  6. mysql用户权限管理

    参考文章:http://www.cnblogs.com/jackruicao/p/6068821.html?utm_source=itdadao&utm_medium=referral (1) ...

  7. mysql 权限管理 grant revoke

    grant all privileges  on  database.table to 'user'@'ip' identified by 'passwd' with grant  option; g ...

  8. mysql用户权限管理的问题

    为了保证数据库安全,建立了若干个只能select的用户,但在权限授权的时候出现了不能连接的问题, 一个个尝试了一下,需要将 :  管理 -> SUPER项勾选才行(使用phpmyadmin),上 ...

  9. mysql用户权限

    mysql> show grants for root@'localhost';+-------------------------------------------------------- ...

随机推荐

  1. JavaScript相关基础知识点

    JavaScript简介: JavaScript是脚本语言,是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,插入 HTML 页面后,可由所有的现代浏览器执行. JavaScript使用: ...

  2. 在Win环境下配置java的环境进行开发步骤

    1.下载官方JDK,网址如下 http://www.oracle.com/technetwork/java/javase/downloads/index.html

  3. hdu 4964 恶心模拟

    http://acm.hdu.edu.cn/showproblem.php?pid=4964 给定语句,按照语法翻译html并输出. 就是恶心的模拟,递归搞就行了 处理id和class时,在一个'&g ...

  4. 简单创建一个“嗨新房”的mac客户端

    下载地址:https://github.com/mapanguan/Mac_HiNewHouse                

  5. 安装json插件

    谷歌浏览器中安装JsonView扩展程序 实际开发工作中经常用到json数据,那么就会有这样一个需求:在谷歌浏览器中访问URL地址返回的json数据能否按照json格式展现出来. 比如,在谷歌浏览器中 ...

  6. 9.json和jsonpath

    数据提取之JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适 ...

  7. 1.buntu 安装redis

    方式一 :apt安装 在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 R ...

  8. 元组(tuple)基本操作

    1.定义元组,Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号 dimensions.py , ) print(dimensi ...

  9. C++动态(显式)调用 C++ dll

    1.创建DLL新项目Dll1,Dll1.cpp: extern "C" __declspec(dllexport) const char* myfunc() { return &q ...

  10. ASP.NET MVC 主要的四种过滤器和三种具体实现类

    4种常用过滤器(IAuthrorizationFilter.IActionFilter.IResultFilter.IExceptionFilter) 和 3种具体实现类(AuthorizeAttri ...