操作目录 六.强制存取控制方法 4.3 视图机制 4.4 审计 六.强制存取控制方法 自主存取控制 仍可能存在数据的“无意泄露”。造成这一问题的 原因是这种机制 仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。要解决这一问题,需要 对系统控制下的所有主客体实施 强制存取控制(MAC) 策略。 ①:强制存取控制(MAC)作用 : 1) 能保证更高程度的安全性。 2) 用户不能直接感知或进行控制。 3) 适用于对数据有严格而固定密级分类的部门 :例如军事部门, 政府部门 ②:在强制存取控制中,数据库管…

2021年4月19日 0条评论 23点热度 阅读全文

1. 死锁背景 1.1 在做高并发秒杀中创建订单、减库存步骤时出现异常:MySQLTransactionRollbackException: Deadlock found when trying to get lock,也就是出现了死锁。 1.2 我们在学多线程时,知道死锁发生在两个线程互相去抢占对方的锁情况,如下图。 1.3  那我们这边出现死锁的原因是什么呢?出现死锁的原因有很多,比如相同记录行锁、索引锁以及GAP锁,我这边应该算是索引锁。在秒杀时,将创建订单、扣减商品库存放在了一个事务中,并且订单表…

2021年4月19日 0条评论 30点热度 阅读全文

数据库完整性 数据库完整性确保的是数据的正确性和相容性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。 防范的对象:不和语义的、不正确的 数据 DBMS要做的 提供定义 完整性约束条件 的机制。 提供完整性检查的方法。 违约处理机制。 实体完整性 定义 若属性A(一个或一组属性)是基本关系R的主属性,则A不能取空值。 所谓空值就是“不知道”或“不存在”或“无意义”的值。 实体完整性规则是针对基本关系而言的。 现实世界的实体是可以区分的,他们具有某种唯一性标识。 相应地,关系模型中以主码作为唯…

2021年4月18日 0条评论 19点热度 阅读全文

什么是事务 比如我现在要进行一个操作 转账 如果在执行完步骤1后, 服务器突然断电, 或者断网, 那么就会出现A账户的钱被扣了, 但B账户并没有收到, 这种情况是我们不想看到的 而解决这种情况的解决方案就是事务, 我们通过事务把这一系列操作打包成一个整体, 要么全部执行成功, 要么全部失败, 这样就解决了因为机器故障导致的错误 事务的四大特性 1. 原子性 原子性就是操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据会自动进行回滚,回到执行指令前的数据状态。好像什…

2021年4月17日 0条评论 23点热度 阅读全文

第四章 数据库安全性 4.2数据库安全性控制 三.自主存取控制方法 四.授权:授予与收回 1.GRANT 2.REVOKE 五.数据库角色 1.角色的创建 2.给角色授权 3.将一个角色授予其他的角色或用户 4.角色权限的收回 4.2数据库安全性控制 三.自主存取控制方法 关系数据库系统中的存取权限: 四.授权:授予与收回 SQL中使用 GRANT 和 REVOKE 语句向用户授予或收回对数据的操作权限。 GRANT 语句向用户 授予 权限, REVOKE 语句 收回 已经授予用户的权限。 1.GRANT 语句的一…

2021年4月17日 0条评论 29点热度 阅读全文

安装MySQL 准备阶段 在这里使用的是压缩包版本的,非msi格式安装包 压缩版的优点是安装快,方便,相对不复杂 mysql5.7 64位下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip 安装阶段 步骤一:解压 下载后得到zip压缩包,放到自己的文件目录中 建议要有自己的特定安装环境文件目录,易于后期的文件查找便利性 步骤二:配置环境变量 我的电脑–>右键–>属性–>高级系统设置–>环境变量…

2021年4月17日 0条评论 16点热度 阅读全文

cremeb多商户打包代码的时候,总是重复的工作,就想着写了个脚本,记录一下sh脚本用到的一下方法: 点击了解 CRMEB多商户 其他开源项目源码 :了解更多 小姐姐二维码 一. 事务并发处理可能出现的问题 脏读:读到了其他事务还没有提交的数据; 不可重复读:对某个数据进行读取,发现了两次读取的结果不一致,因为前后读的时候其他事务对该信息做了修改; 幻读:事务A根据条件查询了N条数据,然后事物B对这些增加或X条符合事物A查询条件的数据,或者修改了X条符合事物A的查询条件的数据,导致事务A再次查询的时候会变成了N+X…

2021年4月16日 0条评论 22点热度 阅读全文

MySQL 索引失效的场景 使用 or 导致索引失效 select * from user where user_id = 1 or age = 20; user_id和age是索引,以上语句索引失效。 where语句中索引列使用了负向查询,可能会导致索引失效 负向查询包括:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等 索引字段可以为null,使用is null或is not null时,可能会导致索引失效 数据类型隐士转换(如果原数据类型是字符串,查询条件使用了整型,则…

2021年4月15日 0条评论 20点热度 阅读全文

自己电脑以上已有mysql5.7的版本,想装一个8.0,5.7里有些内容又不想卸,so 下载 官网下载mysql8.0 解压,配置环境变量 进入系统高级系统设置 系统属性-高级-环境变量-系统变量-path 添加新的环境变量,为 安装路径/bin 添加配置文件 新建文件my.ini,放在安装路径下,如图 从别的地方粘过来的,部分做了修改,内容如下 端口号要和另一版本区分开 [mysqld] # 设置3307端口,与另一版本的端口区分开 port=3307 # 设置mysql的安装目录 【目录请自行修改!】 base…

2021年4月14日 0条评论 26点热度 阅读全文

第一步卸载mariadb yum list installed | grep mariadb yum -y remove mariadb* 第二步下载mysql5.7 !!!!一定是5.7,不是8.0 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 第三步检查并安装wget工具 yum -y install wget 第四步安装rpm包,并且检查mysql的yum源是否安装成功 rpm -ivh mysql57-c…

2021年4月14日 0条评论 19点热度 阅读全文