MYSQL用户权限管理(Grant,Revoke)
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)的更多相关文章
- MYSQL用户权限管理GRANT使用
http://yanue.net/post-97.html GRANT语句的语法: mysql> grant 权限1,权限2,-权限n on 数据库名称.表名称 to 用户名@用户地址 iden ...
- Mysql 用户权限管理
1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 . mysql权限表 ...
- mysql 用户权限管理详细
用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...
- MYSQL用户权限管理学习笔记
MYSQL 用户管理 1.权限表 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: (1) 超级管理员用户(root),拥有全部权限 (2) 普通用户,由roo ...
- Mysql 用户权限管理--从 xxx command denied to user xxx
今天遇到一个mysql 权限的问题,即标题所述 xxx command denied to user xxx,一般mysql 这种报错,基本都属于当前用户没有进行该操作的权限,需要 root 用户授 ...
- mysql用户权限管理
参考文章:http://www.cnblogs.com/jackruicao/p/6068821.html?utm_source=itdadao&utm_medium=referral (1) ...
- mysql 权限管理 grant revoke
grant all privileges on database.table to 'user'@'ip' identified by 'passwd' with grant option; g ...
- mysql用户权限管理的问题
为了保证数据库安全,建立了若干个只能select的用户,但在权限授权的时候出现了不能连接的问题, 一个个尝试了一下,需要将 : 管理 -> SUPER项勾选才行(使用phpmyadmin),上 ...
- mysql用户权限
mysql> show grants for root@'localhost';+-------------------------------------------------------- ...
随机推荐
- 2016-2017-2 20155326实验二《Java面向对象程序设计》实验报告
2016-2017-2 20155326实验二<Java面向对象程序设计>实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...
- noip第11课资料
- HDU3488 Tour
Tour Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submi ...
- 《mysql必知必会》学习_第11章_20180801_欢
第11章:使用数据处理函数. P69 文本处理函数,upper()函数把文本变成大写字体. select vend_name,upper(vend_name) as vend_name_upcase ...
- MapReduce编程之wordcount
实践 MapReduce编程之wordcount import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fi ...
- html 语法
p: 源代码中包含多行,但是浏览器会忽略多行 <br />产生折行效果 h1:居中用样式实现 :水平线,有的很像border-top/bottom,或许用 实现更好 pre: 预格式化的文 ...
- hdu 1.3.4 shǎ崽 OrOrOrOrz
简单的排序,注意输出即可 #include <iostream> #include <algorithm> using namespace std; int main() { ...
- Python进程池举例
multiprocessing包 from multiprocessing import Pool def a(num): print num if __name__ == "__main_ ...
- springBoot2 基础语法
请求响应 request对象 request 对象其实是HttpServletRequest 类型, 通过它可以获取请求相关的一切信息, 包含请求信息 . 以及请求参数 ,甚至可以当成往里面存储数据[ ...
- 556. Next Greater Element III
Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly th ...