小研究 - 基于 MySQL 数据库的数据安全应用设计(二)

news2024/11/13 7:52:14

信息系统工程领域对数据安全的要求比较高,MySQL 数据库管理系统普遍应用于各种信息系统应用软件的开发之中,而角色与权限设计不仅关乎数据库中数据保密性的性能高低,也关系到用户使用数据库的最低要求。在对数据库的安全性进行设计时,为了保证数据的安全性和可靠性,提出通过设置角色和权限实现对数据的安全访问,然后通过编写代码进行实验,以验证此方式解决数据库中数据安全问题的有效性。

目录

3 验证用户权限是否有作用

4 用户账户在权限表中的体现

5 结 论

6 结 论


3 验证用户权限是否有作用

验证用户是否具有对数据的访问权限,也必须打开Windows命令行,以此用户登录和密码登录到数据库管理系统,在进行验证之前,必须退出超级管理员的界面,重新进入,退出过程可以使用代码 quit,下面验证第一个用户的权限。登录过程如图 4 所示。

用户 a1 仅能访问 b 数据库,不能访问 a 数据库,下面是验证过程,通过下面的验证可以看出,用户 a1 对数据库 a的访问权限受到限制,当访问数据库 a 的时候,如图 5 中的错误提示代表针对用户a1访问被拒绝,但可以访问数据库b,从而保证数据的安全性。

同理验证第二个用户 a2,以第二个用户登录,第二个用户可以查询数据库 b 下的 book 表信息,但不能查询 book2 数据表信息,因为没有权限,通过此代码:ERROR 1142 (42000): SELECT command denied to user'a2'@'localhost' for table 'book2'实验得出,用户a2的访问被拒绝,从而得出每个用户必须在自己权限范围内访问数据。如图 6 所示。

4 用户账户在权限表中的体现

根据前面提到的权限表,所有用户账户均存放在 user表中,不管是否具有权限,并且权限在 user 表中的没有任何权限。通过查询 select_priv 字段可以得出全部为 N,代表没有权限。代码如下:

        mysql> select user,password,select_priv from mysql.user;

查询后在 MySQL 命令行中的显示结构如下:

| user | password                                  | select_priv |
+------+-------------------------------------------+-------------+
| a2   | *7CEB3FDE5F7A9C4CE5FBE610D7D8EDA62EBE5F4E | N           |
| a1   | *06C0BF5B64ECE2F648B5F048A71903906BA08E5C | N           |

不同权限的用户名和权限存放在不同的表中。由于为用户 a1 指定了仅能访问固定数据库 a,具有对数据库访问的所有权限,以 db、select_priv 等字段显示为例,结果为 Y,代表具有查询等所有权限。所以属于数据库级别的权限,应该存放在 db 表中。如图 7 所示。

由于为用户 a2 指定了仅能查询固定数据库 b 下的固定数据表 book,具体到某个固定的数据表,所以属于表级别的权限,用户 a2 应该存放在 tables_priv 表中,以 user、db、table_name、table_priv字段显示为例,体现了用户、数据库、数据表和权限,代码为:

        mysql> select user,db,table_name,table_priv from mysql.

tables_priv where user='a2';

+------+----+------------+-------------+
| user | db | table_name | table_priv  |
+------+----+------------+-------------+
| a2   | b  | book       | Select      |

5 结 论

本文以 MySQL 数据库为例,结合数据库中对用户账户和权限的应用,设计了两个用户和用户的权限,通过实验结论得出设计的用户权限在用户访问数据的时候受到了限制,管理员可以根据权限表对用户账户和权限进行管理,并根据实际需求对用户的权限进行转移或撤销,进而保证数据的安全。

6 结 论

CDP 技术是一种全新的容灾备份技术,CDP 技术与超融合服务器平台有机结合,可以满足系统的镜像备份,可以回到任意时间节点的历史轨迹。CDP 技术可以实现分层次恢复,大部分数据恢复在本地即可完成,具有独特的带宽优化功能,可以确保在网络带宽有限的情况下快速异地恢复。在学校的数据灾备系统设计过程中,发挥超融合服务器云平台的作用,合理利用现有的服务器,搭建超融合集群服务和辅助集群,通过万兆全光网络保障数据的全量和增量实时备份。在学校的灾备演练中,数据恢复用时少,数据没有丢失现象,达到预期效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/840978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记-JAVAJVM-JVM的基本结构及概念

申明:文章内容是本人学习极客时间课程所写,文字和图片基本来源于课程资料,在某些地方会插入一点自己的理解,未用于商业用途,侵删。 原资料地址:课程资料 什么是JVM 原文连接: 原文连接 JVM是J…

即将发布的 Kibana 版本可运行 Node.js 18

作者:Thomas Watson Kibana 构建在 Node.js 框架之上。 为了确保每个 Kibana 版本的稳定性和使用寿命,我们始终将捆绑的 Node.js 二进制文件保持为最新的最新长期支持 (LTS) 版本。 当 Node.js 版本 18 升级到 LTS 时,我们开始将 Kibana 升级…

【WebRTC---源码篇】(二十三)JitterBuffer

PacketBuffer packetbuffer类中重要的一些变量 // buffer_.size() and max_size_ must always be a power of two.const size_t max_size_;//能存储的最大元素个数// The fist sequence number currently in the buffer.uint16_t first_seq_num_ RTC_GUARDED_BY(crit_);//这个…

Canmv K210开发板训练自己的模型

文章目录 前言​一、为什么选择Canmv开发板?二、利用Maix Hub在线训练三、配置开发环境1.MaixPy IDE2.刷指定固件 四、部署在Canmv开发板上五、测试模型 前言​ 关于Canmv开发板的介绍: CanMV K210 AI开发板全网首发,项目代码完全开源&#x…

C++数据结构之平衡二叉搜索树(一)——AVL的实现(zig与zag/左右双旋/3+4重构)

本文目录 00.BBST——平衡二叉搜索树01.AVL树02.AVL的插入2.1单旋——zig 与 zag2.2插入节点后的单旋实例2.3手玩小样例2.4双旋实例2.5小结 03.AVL的删除3.1单旋删除3.2双旋删除3.3小结 04.34重构05.综合评价AVL5.1优点5.2缺点 06.代码注意插入算法删除算法完整代码&#xff1a…

Spring Boot3.0(一):入门篇

什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 用我的话来理解,就是 Spring…

Python自动化实战之使用Pytest进行API测试详解

概要 每次手动测试API都需要重复输入相同的数据,而且还需要跑多个测试用例,十分繁琐和无聊。那么,有没有一种方法可以让你更高效地测试API呢?Pytest自动化测试!今天,小编将向你介绍如何使用Pytest进行API自…

K8s持久化存储(nfs网络存储)

数据卷 emptydir,是本地存储,pod重启,数据就不存在了,需要对数据持久化存储 1.nfs,网络存储 ,pod重启,数据还存在的

32.SpringMVC配置

SpringMVC配置 在pom.xml里面将之前的"jar"打包方式更改为"war" 因为之前在JavaWeb创建Maven时就是按web工程来创建的(详细可参考5.IDEA里面使用Maven.md博客),所以不需要再创建webapp目录了,完整目录如下&a…

20天学会rust(二)rust的基础语法篇

在第一节(20天学rust(一)和rust say hi)我们配置好了rust的环境,并且运行了一个简单的demo——practice-01,接下来我们将从示例入手,学习rust的基础语法。 首先来看下项目结构: 项目…

云原生Kubernetes:阿里云托管k8s集群ACK创建和使用

目录 一、理论 1.容器服务Kubernetes版 2.ACK Pro版集群概述 3.CKA版本说明 二、实验 1.创建专有版Kubernetes集群 三、问题 1.依赖检查未通过 一、理论 1.容器服务Kubernetes版 (1)概念 阿里云容器服务Kubernetes版(Alibaba Cloud…

ChatGPT实战:创业咨询,少走弯路,少踩坑

用九死一生形容创业再适合不过,不过一旦成功回报也很诱人,这也是为什么那么多人下场创业。纸上得来终觉浅,绝知此事要躬行,创过业的人都知道其中的心酸,而他们也建议你去创业,因为那真不是一般人能干的事。…

采油平台状态监测:确保海上能源供应的可靠性与安全性

在全球范围内,保障可靠的能源供应对于每个工业化国家至关重要。某采油平台通过设备数字化平台的相关技术,实现了对海上平台的结构完整性的可靠监测和预测。本文将探讨海上平台在极端环境中的挑战,以及通过设备数字化平台数据分析如何确保采油…

Apache Arrow Acero执行引擎

Apache Arrow流执行引擎 对于许多复杂的计算,在内存或计算时间内,连续的计算函数的直接调用都是不可行的。为了更加有效的提高资源使用率、促进多批数据的消费,Arrow提供了一套流式执行引擎,称为Acero。 目前支持算子有&#xff1…

jvm-程序计数器

1、是什么 4 学习路线 类加载器 内存结构方法区 类堆 对象虚拟机栈程序计数器本地方法栈 执行引擎解释器编译器 热点代码 5 程序计数器–作用 java源代码编译蛏二进制字节码 jvm指令。 对所有平台保持一致性。记住下一条jvm指令的执行地址。寄存器,cpu中读取速度…

CI/CD—Docker中深入学习

1 容器数据卷 什么是容器数据卷: 将应用和环境打包成一个镜像!数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久 化。MySQL容器删除了,删容器跑路&#…

网络框架重构之路plain2.0(c++23 without module) 环境

开发环境 主开发环境 1、系统 plain因为支持跨平台,所以主要的两个操作系统是linux和windows,而linux中我选择了中小企业中常用的centos 7(centos 8 已经停止支持了,但是7还有一段时间才会停,估计之后大家可能会被迫使…

C++QT教程2——创建QT项目

文章目录 2 创建Qt项目2.1 使用向导创建2.2 手动创建2.3 .pro文件2.4 一个最简单的Qt应用程序main入口函数中(main.cpp)arnold_widget.h函数arnold_widget.cpp 参考文章 2 创建Qt项目 2.1 使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜…

CTF Crypto --- 七八月份比赛杂题记录

文章目录 前言第一届交通运输行业网络安全大赛决赛---CryptoeasyRSAMypow baby_RSAEasyRSA你懂RSA吗 前言 哥们终于想起账号密码了(尊嘟忘了)。 鸽了快两个星期辣,下次一定不鸽(x)。 第一届交通运输行业网络安全大赛决赛—Crypto easyRSA 题目: f…