mysql revoke from_Mysql grant to (revoke from)
本文实例,运行于 MySQL 5.0 及以上版本。
MySQL 赋予用户权限命令的简单格式可概括为:
grant
权限
on
数据库对象
to
用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant
select
on
testdb.
*
to
common_user@
'
%
'
grant
insert
on
testdb.
*
to
common_user@
'
%
'
grant
update
on
testdb.
*
to
common_user@
'
%
'
grant
delete
on
testdb.
*
to
common_user@
'
%
'
或者,用一条 MySQL 命令来替代:
grant
select
,
insert
,
update
,
delete
on
testdb.
*
to
common_user@
'
%
'
二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 MySQL 数据表结构权限。
grant
create
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
grant
alter
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
grant
drop
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
grant 操作 MySQL 外键权限。
grant
references
on
testdb.
*
to
'
192.168.0.%
'
;
grant 操作 MySQL 临时表权限。
grant
create
temporary
tables
on
testdb.
*
to
'
192.168.0.%
'
;
grant 操作 MySQL 索引权限。
grant
index
on
testdb.
*
to
'
192.168.0.%
'
;
grant 操作 MySQL 视图、查看视图源代码 权限。
grant
create
view
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
grant
show
view
on
testdb.
*
to
'
192.168.0.%
'
;
grant 操作 MySQL 存储过程、函数 权限。
grant
create
routine
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
--
now, can show procedure status
grant
alter
routine
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
--
now, you can drop a procedure
grant
execute
on
testdb.
*
to
developer@
'
192.168.0.%
'
;
三、grant 普通 DBA 管理某个 MySQL 数据库的权限。
grant
all
privileges
on
testdb
to
dba@
'
localhost
'
其中,关键字 “privileges” 可以省略。
四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。
grant
all
on
*
.
*
to
dba@
'
localhost
'
五、MySQL grant 权限,分别可以作用在多个层次上。
1. grant 作用在整个 MySQL 服务器上:
grant
select
on
*
.
*
to
dba
@localhost
;
--
dba 可以查询 MySQL 中所有数据库中的表。
grant
all
on
*
.
*
to
dba
@localhost
;
--
dba 可以管理 MySQL 中的所有数据库
2. grant 作用在单个数据库上:
grant
select
on
testdb.
*
to
dba
@localhost
;
--
dba 可以查询 testdb 中的表。
3. grant 作用在单个数据表上:
grant
select
,
insert
,
update
,
delete
on
testdb.orders
to
dba
@localhost
;
这里在给一个用户授权多张表时,可以多次执行以上语句。例如:
grant
select
(
user_id
,username)
on
smp.users
to
mo_user@
'
%
'
identified
by
'
123345
'
;
grant
select
on
smp.mo_sms
to
mo_user@
'
%
'
identified
by
'
123345
'
;
4. grant 作用在表中的列上:
grant
select
(id, se, rank)
on
testdb.apache_log
to
dba
@localhost
;
5. grant 作用在存储过程、函数上:
grant
execute
on
procedure
testdb.pr_add
to
'
dba
'
@
'
localhost
'
grant
execute
on
function
testdb.fn_add
to
'
dba
'
@
'
localhost
'
六、查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants
for
dba
@localhost
;
七、撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant
all
on
*
.
*
to
dba
@localhost
;
revoke
all
on
*
.
*
from
dba
@localhost
;
八、MySQL grant、revoke 用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant
select
on
testdb.
*
to
dba
@localhost
with
grant
option
;
这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。
*************************************************************************************************
遇到 SELECT command denied to user '用户名'@'主机名' for table '表名' 这种错误,解决方法是需要把吧后面的表名授权,即是要你授权核心数据库也要。
我遇到的是SELECT command denied to user 'my'@'%' for table 'proc',是调用存储过程的时候出现,原以为只要把指定的数据库授权就行了,什么存储过程、函数等都不用再管了,谁知道也要把数据库mysql的proc表授权
*************************************************************************************************
mysql授权表共有5个表:user、db、host、tables_priv和columns_priv。
授权表的内容有如下用途:
user表
user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。
db表
db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。
host表
host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。
tables_priv表
tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。
columns_priv表
columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。
mysql revoke from_Mysql grant to (revoke from)相关推荐
- mysql revoke with grant option_mysql_DCL_grant/revoke
授权就是为某个用户赋予某些权限.例如,可以为新建的用户赋予查询所 有数据库和表的权限.合理的授权能够保证数据库的安全.不合理的授权会使数 据库存在安全隐患. MySQL中使用GRANT关键字来为用户设 ...
- 数据库-grant和revoke
SQL的数据控制功能:GRANT和REVOKE 使用grant和revoke注意要点: 1.可以为不存在的数据库授权. 2.如果grant命令标识的用户不存在,它将被创建. 3.如果创建一个用户而没有 ...
- mysql revoke 无效_MySQL的grant,revoke使用
grantcreateontestdb.*todeveloper@'192.168.0.%';grantalterontestdb.*todeveloper@'192.168.0.%';grantdr ...
- revoke mysql_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解
MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...
- mysql 权限命令 revoke_MySQL权限操作:Grant、Revoke
:参考http://www.cnblogs.com/subsir/articles/2568361.html by 市集 usage select create create routine crea ...
- mysql revoke数据库_MySQL ------ 管理用户对数据库的访问控制(GRANT 与 REVOKE)(二十九)...
数据库服务器通常包含着关键的数据,所以为了确保这些数据的安全和完整需要要利用访问控制. MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少(即用户不能对过多的数据 ...
- MySQL之grant、revoke用法
grant 权限 on 数据库名.表名 用户@'登录主机' identified by "用户密码"; Note: 登陆主机.密码必须加引号,单双皆可. 1.gra ...
- mysql revoke 授权_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解
MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...
- android通过用户名密码访问服务器获取信息_MySQL ------ 管理用户对数据库的访问控制(GRANT 与 REVOKE)(二十九)...
数据库服务器通常包含着关键的数据,所以为了确保这些数据的安全和完整需要要利用访问控制. MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少(即用户不能对过多的数据 ...
最新文章
- 【算法】Logistic regression (逻辑回归) 概述
- 移动端picker插件
- C++实现对汉字的完美支持
- 基于 Kubernetes 实践弹性的 CI/CD 系统
- asp.net WebForm页面间传值方法
- Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
- Java笔记(韩顺平Java基础1-2章)
- CS231n-assignment1详解
- c语言创意作业蜂鸣器,蜂鸣器c语言程序_c语言编写蜂鸣器发声
- emmx文件用什么软件打开电脑_fbx文件是什么_电脑fbx文件用什么软件打开
- java post 提交数据_java中使用post提交数据
- 赵小楼《天道》《遥远的救世主》深度解析(144)问题本身就是答案。需要强调的东西不是本来的那个东西。
- Navigator的教程
- CSDN博文周刊第一期 | 2018年总结:向死而生,为爱而活——忆编程青椒的戎马岁月
- 1024程序员节的由来?
- Monkey的11种事件
- 凤凰系统的服务器搭建,凤凰系统装在云服务器
- 5G网络优化工程如何完美高效地准备一场面试?
- 《浪矢解忧杂货店》——品味最真实的感动
- 新员工培训环境准备中,碰见的两个ORA-600错误