MySQL之数据库安全性

数据库安全性

1 视图

特点

  1. 视图是一个虚拟表。不存数据,建立在已有表或视图中,只占少量空间。
  2. 视图的建立和删除不影响基本表。
  3. 视图的修改会影响基本表,反之亦然。视图有多表生成不允许添加和删除数据。
  4. 视图本质为查询语句。
  5. 视图可以保证安全性。

1.1DDL语句

1.1.1 创建

基础语句

CREATE VIEW 视图名 AS 查询语句#查询语句中不能有未分组使用聚合函数的情况
/*
如:create view a as select count(*) from b;是错误的
*/

别名

CREATE VIEW 视图名(别名1,别名2,...) AS 查询语句#slect查询语句中也可以改

如:CREATE VIEW myView(i1,i2) AS (SELECT employee_id, avg(salary) FROM employees LIMIT 10 OFFSET 0);

1.1.2 修改
ALTER VIEW 视图名 AS 查询语句;
CREATE OR REPLACE VIEW 视图名 AS 查询语句;
1.1.3 删除
DROP VIEW 视图名;

1.2 查看语句

语句说明
SHOW TABLES;查看视图对象
DESC myview;查看视图结构
SHOW CREATE VIEW myview;查看视图的创建信息
SELECT * FROM myview;查看视图中的数据

1.3 DML语句

规则同表中的操作,这里略。

特点在这里插入图片描述

2 权限管理

2.1 用户管理

说明:mysql中用户分为普通用户和超级用户。

创建

CREATE USER ‘用户名’[@ip地址] [IDENTIFIED BY ‘密码’] ;#ip地址可以为%和localhost

修改

update mysql.user set user=‘’ where user=‘’;#改表。user表中含user 和 host
flush privilege;#刷新权限表

删除

  1. 删表元素语句

  2. drop user 用户名@ip;#用户名和ip均正确才能删除
    

修改密码

  1. 修改自己的密码SET PASSWORD = '123456'ALTER USER USER() IDENTIFIED BY '123456'
  2. 修改其他用户密码 ALTER USER '用户名'@'ip' identified by '123456'set password for '用户名'@'ip' = '123456'

2.2 权限管理

权限类型:表类型,列类型,数据库类型,函数类型等。

授予权限1

GRANT 权限1,权限2,... ON 限制类型对象 TO '用户名'@'ip';

收回权限2

REVOKE 权限1,权限2,... ON 限制类型对象 FROM '用户名'@'ip';#限制对象可以为 数据库名.表名 也可为*.*

2.3 角色管理

角色:角色权限的集合。

角色使用思路:先定义拥有权限的角色,再将用户赋予为某种角色,并激活。

创建角色

CREATE ROLE '角色名1'[@'ip1'],角色名2'[@'host'],..# host默认为%,适配所有ip

赋予角色权限

GRANT 权限 ON 对象 TO 角色;

查看角色权限3

SHOW GRANTS FOR 角色

回收用户权限

REVOKE 权限 ON 对象 FROM 角色;

删除角色

DROP ROLE 角色;

赋予用户角色

GRANT 角色 TO 用户;

激活角色4

SET GLOBAL activate_all_roles_on_login=ON;#会话级别临时激活,法1
SET DEFAULT ROLE role@ip TO 用户@ip;#法2,会话级别临时激活
SET persist activate_all_roles_on_login=ON;#永久激活,法3

撤销用户角色

REVOKE 角色 FROM 用户;

  1. 非root用户不能给其他用户赋予权限。 ↩︎

  2. mysql通过权限表来控制用户对数据库的访问。user表示用户信息和他们的一些权限。 ↩︎

  3. 查看用户权限SHOW GRANTS FOR 用户 ↩︎

  4. 登录用户才能激活角色 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值