数据库(基础理论+MySQL安装和部署)

目录

基础理论

1.1 什么是数据库?

1.2 DBMS数据库管理系统

1.3 数据库与文件系统的区别

1.4 数据库的发展和规划

1.5 常见的数据库

1.5.1 关系型数据库

1.5.2 非关系型数据库

1.6 DBMS支持的数据模型

层次模型

网状模型

关系模型

面向对象模型(概念模型)

数据模型(关系概念模型)

MySQL的安装和部署

2.1 MySQL的特征

2.2获取方式

2.3 MySQL环境的安装

2.3.1 光盘的插入

2.3.2 显示光盘文件

2.3.3 手动挂载

2.3.4 挂载后再查看

2.3.4 进入目录

2.3.5 编辑并配置文件

2.3.6 清空yum缓存

2.3.7 创建yum缓存仓库

2.3.8 查看列表

2.4 正式安装MySQL

2.4.1 创建MySQL文件夹

2.4.2 下载

2.4.3 解压tar

2.4.4 安装

2.5 部署和启动

2.5.1 启动服务

2.5.2 检查启动状况

2.5.3 查看日志以获取初始登录密码

2.5.4 复制密码保存为首次登陆做准备

2.5.5 修改登录密码


基础理论

1.1 什么是数据库?

数据:

        描述事务的符号记录,包含但不限于数字、文字、图形、图像、语言、声音等。数据有着多重形式,它们都可以经过数字化后存入计算机

数据库:

        存放数据的仓库,存储空间很大,数据库并不是随意地存放数据,随意存放不便于数据的查找,是长期存放在计算机内、有组织、可共享的大量数据的集合

        数据库中的数据按照一定数据模型组织、描述和存储

数据库特征:

        较小的冗余度、较高的独立性和易扩展性

        数据要具备结构化特征

        数据的冗余度要小,共享度要高,扩充性要强

        针对于原子性数据,独立性要强

        数据要有统一的管理和控制        ——>        数据库管理系统(DBMS):安全性、完整性、并发性、容灾性

1.2 DBMS数据库管理系统

DBMS是所有数据的知识库,并对数据的存储、安全、一致性、并发操作、恢复和访问 负责

数据库系统成熟的标志就是数据库管理系统的出现

归根结底,DBMS就是一个用于管理数据库的软件,是对数据库完整和统一管理的控制机制

DBMS内的数据字典(有时也称系统表),用于存储每个事物的相关信息,如名称、结构、位置等。而这类数据也成为:元数据        

1.3 数据库与文件系统的区别

文件系统:

        操作系统用于明确存储设备(通常泛指磁盘),或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统

数据库系统:

        DBMS是一种操纵和管理数据库的大型软件。用于建立、使用和维护数据库。对数据库进行统一的管理和控制,以保证数据库的完整性和安全性

相同点:

        1、均为数据组织的管理技术

        2、均由数据管理软件管理数据,程序与数据之间用存取方法进行转换

        3、数据库系统是在文件系统的基础上发展而来的

不同点:

        1、管理对象不同        ——>        文件系统的管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存,两者之间存在隔离性

        2、存储方式不同        ——>        文件系统使用不同的文件名加以区分(.doc/.mp4/.png),保存在外部存储设备上,数据库系统使用标准统一的数据类型进行数据保存(字母/数字/符号/时间......)

        3、调用数据的方式不同        ——>        文件系统使用不同的软件去调用不同类型的文件,数据库系统则统一使用DBMS进行调用和管理

1.4 数据库的发展和规划

分为5个节点:

        1 初始阶段——人工管理:人工手动进行数据整理

        2 萌芽阶段——文件系统:磁盘文件进行数据的存储

        3 初级阶段——第一代数据库:网状模型和层次模型的数据库

        4 中级阶段——第二代数据库:关系型数据库&&结构化查询语句       Oracle Mysql SqlServer

        5 高级阶段——新一代数据库:NoSql型数据库  Redis..MnGo..

        6 未来阶段——云库

1.5 常见的数据库

1.5.1 关系型数据库

关系模型 —— 二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织

        当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、MicrosoftAccess、MySQL、浪潮K-DB、武汉达梦等

        实体关系模型  E-R 图,它将真实世界事物与关系的概念,来解释了数据库中抽象的数据框架。实体关系模型利用图形的方式(实体-关系图)来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论

1.5.2 非关系型数据库

普遍定义是“非关联性的”,强调Key--value存储和访问

1.6 DBMS支持的数据模型

层次模型

层次模型非常像一个倒置的树形结构

层次模型满足以下条件

        1、有且仅有一个节点且无父节点的,这个节点称为根节点

        2、其他的节点,有且只有一个父节点,多应用于桌面型关系模型数据库

网状模型

在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊病

网状模型是一个网络结构,在数据库内如何区分网状模型,需要满足以下条件

        1、允许一个以上的节点无父节点

        2、一个节点可以有多于一个的父节点

关系模型

以二维表的形式表示实体和实体之间存在的关系

从模型的三要素角度分析,满足关系模型的条件如下:

        1、数据结构:一个二维表格

        2、数据操作:数据表的定义  维护  检索  计算

        3、数据约束条件:数据表中列的限制

面向对象模型(概念模型)

基于客户的想法和观点所形成的认识和抽象

实体(Entity):客观存在,能够被描述的事物

属性(Attribute):用于描述实体所具有的特征或特性。如针对学生实体 学号  姓名等

关系(Relationship):实体和实体之间的联系

一对一关系 ——> 个人   和   身份证

一对多关系 (多对一关系)——> 班级   和   学生

多对多关系 ——> 学生   和   课程

数据模型(关系概念模型)

行和列:

        表示一个具体的实体的数据,也叫一条记录

       是属性的映射,用于描述实体的

MySQL的安装和部署

2.1 MySQL的特征

        1、底层语言使用C、C++编写的,并且使用多种编译器进行测试,以确保源码的可移植性

        2、支持市面上所有的操作系统

        3、为编程语言提供了API,编程语言包含但不限于:C、C++、C#、Delphi、Eiffel、Java、Perl等

        4、支持多线程,充分利用CPU资源,支持多用户访问

        5、出色的Sql算法优化,能够更有效的提高查询效率

        6、除了常规的安装外,MySQL还能作为嵌入式,嵌入在其他的软件内

        7、提供了多语言支持

        8、提供了TCP/IP  ODBC  JDBC等多种数据库连接机制

        9、提供用于管理,检查,优化数据库操作的管理工具

        10、庞大的算法加持,可以轻松处理千万级别记录的内容

2.2获取方式

四个版本

        Alpha版:开发版,公司内部使用

        Beta版:体验版,开发完成后,供用户体验

        RC版:候选班,正式版发布之前,诞生的小版本

        GA版:正式发布版本

MySQL官网:

         MySQL

2.3 MySQL环境的安装

2.3.1 光盘的插入

        手动插入

2.3.2 显示光盘文件

df -h

2.3.3 手动挂载

mount -o ro /dev/sr0  /media

注意:需要超级用户才能使用命令

2.3.4 挂载后再查看

df -h

2.3.4 进入目录

cd /etc/yum.repos.d

注意:

        初始状态下是没有这两个文件的

2.3.5 编辑并配置文件

vim yum.repo

配置文件:

[BaseOS]name=baseos yumenabled=1baseurl=file:///media/BaseOSgpgcheck=0 [AppStream]name=app yumenabled=1baseurl=file:///media/AppStreamgpgcheck=0

返回上级目录

        cd /

2.3.6 清空yum缓存

yum clean all

2.3.7 创建yum缓存仓库

yum makecache

2.3.8 查看列表

yum repolist

2.4 正式安装MySQL

访问:www.mysql.com

打开MySQL官网——>下载——>MySQL Community (GPL) Downlodas——>Download Archives 下载档案——>MySQL Community Server MySQL 社区服务器——>MySQL Downloads

2.4.1 创建MySQL文件夹

mkdir mysql

2.4.2 下载

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.34-1.el9.x86_64.rpm-bundle.tar

2.4.3 解压tar

tar xvf mysql-8.0.34-1.el9.x86_64.rpm-bundle.tar

2.4.4 安装

注意:解压后里面有很多文件,只需要选择需要安装的就行了

dnf localinstall mysql-community-server-8.0.34-1.el9.x86_64.rpm mysql-community-client-8.0.34-1.el9.x86_64.rpm mysql-community-common-8.0.34-1.el9.x86_64.rpm mysql-community-icu-data-files-8.0.34-1.el9.x86_64.rpm mysql-community-client-plugins-8.0.34-1.el9.x86_64.rpm mysql-community-libs-8.0.34-1.el9.x86_64.rpm

2.5 部署和启动

2.5.1 启动服务

systemctl start mysql

2.5.2 检查启动状况

systemctl status mysql

2.5.3 查看日志以获取初始登录密码

grep passwd /var/log/mysqld.log

2.5.4 复制密码保存为首次登陆做准备

mysql -uroot -p
......初始密码......

2.5.5 修改登录密码

语法:ALTER USER 'root'@'loaclhost' IDENTIFIED BY '新密码';

新密码可以为(字母+数字+特殊符号)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Openlab123!';

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

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

相关文章

T2T VIT 学习笔记(附代码)

论文地址:https://arxiv.org/abs/2101.11986 代码地址:https://github.com/PaddlePaddle/PASSL/tree/main/configs/t2t_vit 1.是什么? T2T-ViT是一种基于Transformer的视觉模型,用于图像分类任务。它通过将图像分割成小的图块&…

在uni-app中使用sku插件,实现商品详情页规格展示和交互。

商品详情 - SKU 模块 学会使用插件市场,下载并使用 SKU 组件,实现商品详情页规格展示和交互。 存货单位(SKU) SKU 概念 存货单位(Stock Keeping Unit),库存管理的最小可用单元,通…

【MyBatis-Plus】逻辑删除

对于一些比较重要的数据,我们通常采用逻辑删除。(即用一个字段表示是否删除,实际上始终在数据库没有被删除) 当逻辑删除字段为 true,业务处理的时候会自动把该数据当做一个“不存在”的数据处理。(即不处理…

计算机网络课程设计-Tracert 与 Ping 程序设计与实现

目录 前言 1 实验题目 2 实验目的 3 实验内容 3.1 步骤 3.2 关键代码 3.2.1 发送ICMP数据报 3.2.2 解析收到的数据报 4 实验结果与分析 5 代码 5.1 ping代码 5.2 Tracert代码 前言 本实验为计算机网络课程设计内容,基本上所有代码都是根据指导书给的附录…

BigeMap在Unity3d中的应用,助力数字孪生

1. 首先需要用到3个软件,unity,gis office 和 bigemap离线服务器 Unity下载地址:点击前往下载页面(Unity需要 Unity 2021.3.2f1之后的版本) Gis office下载地址:点击前往下载页面 Bigemap离线服务器 下载地址: 点击前往下载页面 Unity用于数字孪生项…

ilqr 算法说明

1 Introduction 希望能用比较简单的方式将ilqr算法进行整理和总结。 2 HJB方程 假定我们现在需要完成一个从A点到B点的任务,执行这段任务的时候,每一步都需要消耗能量,可以用下面这个图表示。 我们在执行这个A点到B点的任务的时候&#xf…

什么是区块链?

区块链 区块链 (英语:blockchain)是借由 密码学 与 共识机制 等技术建立,存储数据的 保证不可篡改和不可伪造的 分布式技术。 什么是区块 区块 就是将一批数据打包在一起,并且给打包出来的区块编号。第一个区块的编…

vue3-事件处理

事件监听 DOM 事件监听指令 v-on 简写 v-on:click"handler" 或者 click"handler"事件处理器 (handler) 的值可以是: 内联事件处理器:比如 click 方法事件处理器:一个指向组件上定义的方法的属性名或是路径。 在内联…

【干货】网络安全之URL过滤

热门IT课程【视频教程】-华为/思科/红帽/oraclehttps://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 URL过滤是一种针对用户的URL请求进行上网控制的技术,通过允许或禁止用户访问某些网页资源,达到规范上网行为和降低安全…

matlab行操作快?还是列操作快?

在MATLAB中,通常情况下,对矩阵的列进行操作比对行进行操作更有效率。这是因为MATLAB中内存是按列存储的,因此按列访问数据会更加连续,从而提高访问速度。 一、实例代码 以下是一个简单的测试代码, % 测试矩阵大小 ma…

Python实战 -- PySide6 制作天气查询软件

一、环境准备 开发环境:Python 3.9.2 pycharm PySide6 申请天气情况 API :https://console.amap.com/dev/key/app designer 设计 ui 目录下 Weather.ui 转换为 Weather.py 结果显示 二、完整代码 import sysfrom PySide6 import QtWidgetsimport…

Mysql深度分页优化的一个实践

问题简述: 最近在工作中遇到了大数据量的查询场景, 日产100w左右明细, 会查询近90天内的数据, 总数据量约1亿, 业务要求支持分页查询与导出. 无论是分页或导出都涉及到深度分页查询, mysql通过limit/offset实现的深度分页查询会存在全表扫描的问题, 比如offset1000w, limit10…

7. UE5 RPG修改GAS的Attribute的值

前面几节文章介绍了如何在角色身上添加AbilitySystemComponent和AttributeSet。并且还实现了给AttributeSet添加自定义属性。接下来,实现一下如何去修改角色身上的Attribute的值。 实现拾取药瓶回血功能 首先创建一个继承于Actor的c类,actor是可以放置到…

WAF攻防相关知识点总结2-代码免杀绕过

WAF的检测除了有对于非正常的流量检测外还对于非正常的数据包特征进行检测 以宝塔为例 在宝塔的后台可以放置一句话木马的文件 宝塔不会对于这个文件进行拦截,但是一旦我们使用菜刀蚁剑等webshell工具去进行连接的时候,数据报中有流量特征就会被拦截 …

JRT和springboot比较测试

想要战胜他,必先理解他。这两天系统的学习Maven和跑springboot工程,从以前只是看着复杂,现在到亲手体验一下,亲自实践的才是更可靠的了解。 第一就是首先Maven侵入代码结构,代码一般要按约定搞src/main/java。如果是能…

C#判断输入的数字是否符合货币格式

目录 一、用正则表达式判断输入是否符合货币格式 二、用double.TryParse()判断输入是否符合货币格式 一、用正则表达式判断输入是否符合货币格式 // 判断输入是否货币合格 using System.Text.RegularExpressions; namespace IsCurrency_Format {partial class Program{stati…

虚幻UE 特效-Niagara特效实战-雨天

回顾Niagara特效基础知识:虚幻UE 特效-Niagara特效初识 其他两篇实战:虚幻UE 特效-Niagara特效实战-火焰、烛火、虚幻UE 特效-Niagara特效实战-烟雾、喷泉 本篇笔记我们再来实战雨天,雨天主要用到了特效中的事件。 文章目录 一、雨天1、创建雨…

九、K8S-label和label Selector

label和label selector 标签和标签选择器 1、label 标签: 一个label就是一个key/value对 label 特性: label可以被附加到各种资源对象上一个资源对象可以定义任意数量的label同一个label可以被添加到任意数量的资源上 2、label selector 标签选择器 L…

k8s的对外服务ingress

1、service的作用体现在两个方面 (1)集群内部:不断跟踪pod的变化,更新deployment中的pod对象,基于pod的ip地址不断变化的一种服务发现机制 (2)集群外部:类似于负载均衡器&#xff…

【计算机组成与体系结构Ⅱ】Tomasulo 算法模拟和分析(实验)

实验5:Tomasulo 算法模拟和分析 一、实验目的 1:加深对指令级并行性及开发的理解。 2:加深对 Tomasulo 算法的理解。 3:掌握 Tomasulo 算法在指令流出、执行、写结果各阶段对浮点操作指令以及 load 和 store 指令进行了什么处…