mysql data 权限,MySQL数据库用户权限划分

数据库用户划分

权限划分一般原则

数据库一般划分为线上库,测试库,开发库。

对于线上库:

DBA:有所有权限,超级管理员权限

应用程序:分配insert、delete、update、select、execute、events、jobs权限。

测试人员:select某些业务表权限

开发人员:select某些业务表权限

原则:所有对线上表的操作,除了应用程序之外,都必须经由DBA来决定是否执行、已经什么时候执行等。

测试库

DBA:所有权限。

测试人员:有insert、delete、update、select、execute、jobs权限。

数据分析人员:只有select查询权限

开发人员:有select权限。

原则:DBA有所有权限,而且严格控制表结构的变更,不允许除了dba之外的人对测试环境的库环境进行修改,以免影响测试人员测试。所有对测试库的表结构进行的修改必须由测试人员和DBA一起审核过后才能操作。

开发库

DBA:所有权限

测试人员:有库表结构以及数据的所有操作权限。

开发人员:有库表结构以及数据的所有操作权限。

数据分析人员:有库表结构以及数据的所有操作权限。

这里大家可以愉快的玩耍了,只要不mysql服务不hang不downtime都OK了。

普通数据管理用户:

赋予对业务表的查询维护权限即可,授权sql如下:

GRANT SELECT, INSERT, UPDATE, DELETE ON d3307.* TOzengxiaoteng@'%' IDENTIFIED BY '0523';

·1

·1

开发人员账户:

赋予增删改查的权限,授权sql如下:

GRANT SELECT,INSERT,DELETE,UPDATE ON d3307.* TO huyan@'%'IDENTIFIED BY '0523';

授予创建、修改、删除 MySQL 数据表结构权限。

GRANT CREATE ON d3307.* TO huyan@’192.168.52.11’;

GRANT ALTER  ONd3307.* TO huyan@’192.168.52.11’;

GRANT DROP   ONd3307.* TO huyan@’192.168.52.11’;

授予操作 MySQL 外键权限:

GRANT REFERENCES ON d3307.* TO huyan@’192.168.52.11’;

授予操作 MySQL 临时表权限:

GRANT CREATE TEMPORARY TABLES ON d3307.* TO huyan@’192.168.52.11’;

授予操作 MySQL 索引权限:

GRANT INDEX ON d3307.* TO huyan@’192.168.52.11’;

授予操作 MySQL 视图、查看视图源代码 权限:

GRANT CREATE VIEW ON d3307.* TO huyan@’192.168.52.11’;

GRANT SHOW   VIEW ONd3307.* TO huyan@’192.168.52.11’;

授予操作 MySQL 存储过程、函数 权限:

GRANT CREATE ROUTINE ON d3307.* TO huyan@’192.168.52.11’;

GRANT ALTER ROUTINE ON d3307.* TO huyan@’192.168.52.11’;

GRANT EXECUTE       ON d3307.* TO huyan@’192.168.52.11’;

DBA人员账户

授予普通DBA管理某个MySQL数据库(test)的权限:

GRANT ALL PRIVILEGES ON test TO sysdba@'192.168.52.%';

授予高级 DBA 管理 MySQL 中所有数据库的权限:

GRANT ALL ON *.* TO sysdba@'192.168.52.%';

数据分析人员只读账号

只需要分配只读的权限:

GRANT SELECT ON d3307.* TO dataquery@'192.168.52.129'IDENTIFIED BY '20150523';

甚至有些用户,可以只分配读取某些表列的权限,如下所示:

GRANT SELECT ON test.* TO dataquery@’192.168.52.%’ IDENTIFIED BY‘20150523’;

GRANT SELECT(id,uname) ON d3307.t TO dataquery@’192.168.52.%’ ;

示列权限登录操作:

[root@data02 ~]# mysql --socket=/usr/local/mysql3307/mysql.sock-u dataquery -p20150523 -h192.168.52.130 -P3307

Welcome TO the MySQL monitor.  Commands END WITH ; OR \g.

Your MySQL CONNECTION id IS 18

SERVER VERSION: 5.6.12-LOG Source distribution

Copyright (c) 2000, 2013, Oracle AND/OR its affiliates. ALLrights reserved.

Oracle IS a registered trademark of Oracle Corporation AND/ORits

affiliates. Other NAMES may be trademarks of theirrespective

owners.

TYPE 'help;' OR '\h' FOR help. TYPE '\c' TO clear thecurrent input statement.

mysql> SELECT * FROM d3307.t;

ERROR 1142 (42000): SELECT command denied TO USER 'dataquery'@'data02'FOR TABLE 't'

mysql>

mysql> SELECT id,uname FROM d3307.t;

+----+-------+

| id | uname |

+----+-------+

|  1 | a     |

+----+-------+

1 ROW IN SET (0.00 sec)

mysql>

630eb2531ee400cff5f9875f15a89966.gif

8c3f82c6f234e71f152d8ee7b9123a5a.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值