数据库(基础理论+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 yum

enabled=1

baseurl=file:///media/BaseOS

gpgcheck=0 

[AppStream]

name=app yum

enabled=1

baseurl=file:///media/AppStream

gpgcheck=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!';

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】2171. 拿出最少数目的魔法豆-2024.1.18

题目: 2171. 拿出最少数目的魔法豆 给定一个 正整数 数组 beans ,其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少还有一…

【华为 ICT HCIA eNSP 习题汇总】——题目集2

1、交换机某个端口配置信息如下,则此端口的PVID为()。 A、100 B、2 C、4 D、1 # interface GigabitEthernet0/0/1 port hybrid tagged vlan 2 to 3 100 port hybrid unatgged vlan 4 6 #考点:VLAN(虚拟局域网&#xff…

精通Discord营销:多账号注册与管理,高效打造矩阵

Discord虽然是一个海外小众平台,但在Z世代群体来说却非常受欢迎。通常在游戏行业、年轻化的电商特定品类、软件等业务中,Discord的社群营销可以起到非常卓越的效果。但是,您必须学会管理不同的帐户,以构成矩阵打造社区&#xff0c…

ubuntu开放ssh服务

📑前言 本文主要是【ubuntu】——ubuntu开放ssh服务的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一…

PXE——高效批量网络装机

目录 部署PXE远程安装服务 1.PXE概述 2.实现过程 3.实验操作 3.1安装dhcp、vsftpd、tftp-server.x86_64、syslinux服务 3.2修改配置文件——DHCP 3.3修改配置文件——TFTP 3.4kickstart——无人值守安装 3.4.1选择程序 3.4.2修改基础配置 3.4.3修改安装方法 3.4.4…

C++核心编程之通过类和对象的思想对文件进行操作

目录 ​​​​​​​一、文件操作 1. 文件类型分类: 2. 操作文件的三大类 二、文本文件 1.写文件 2.读文件 三、二进制文件 1.写二进制文件 2.读二进制文件 一、文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将…

XXL-Job的搭建接入Springboot项目(详细)

一、XXL-Job介绍 XXL-Job 是一款开源的分布式任务调度平台,由 Xuxueli(徐雪里)开发。它基于 Java 技术栈,提供了一套简单易用、高可靠性的任务调度解决方案。 XXL-Job 的主要作用是帮助开发者实现定时任务的调度和执行。它可以用…

一、VTK 9.0.0 编译安装步骤 VS2019 CMake3.26.0

零基础开始学习VTK ,请跟我进行第一步,配置好开放环境! 首先,你时间比较紧急,想直接使用VTK ,而无需编译、那么请使用 PCL-1.12.0-AllInOne-msvc2019-win64.exe 它已经帮你编译好VTK 9 了,直…

Defi安全--Orion Protocol攻击事件分析

其它相关文章可见个人主页 1. Orion Protocol攻击事件相关信息 2023年2月2日,在ETH和BSC上的Orion Protocol项目被攻击,这里以ETH上攻击为例: 攻击合约地址:Attacker Contract Address | Etherscan攻击者地址:Orion…

合并K个升序链表(LeetCode 23)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一:顺序合并方法二:分治合并方法三:使用优先队列合并 参考文献 1.问题描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff…

GNSS数据下载软件 -- 武汉大学 Fast软件(体验感极佳~)

目录 一、简介与下载地址 1.介绍 2.软件特点 3.下载地址 4.以github下载链接为例 二、下载方法(三种方法,以windows系统为例) 1.双击"Fast.exe"根据提示引导下载 2.手动输入"cmd"进入命令行界面,通过输入相关命令进行下载 …

【GAMES101】Lecture 07 着色(shading)

目录 着色 Blinn-Phong反射模型 漫反射 光衰减 着色 这个着色(shading)就是将不同的材质应用到不同的物体上,像一个物体,它可以是木头的、金属的、塑料的…… Blinn-Phong反射模型 我们来看一个简单的着色模型,…

机器学习--人工智能概述

人工智能概述 入门人工智能,了解人工智能是什么。为啥发展起来,用途是什么,是最重要也是最关键的事情。大致有以下思路。 人工智能发展历程机器学习定义以及应用场景监督学习,无监督学习监督学习中的分类、回归特点知道机器学习…

NoClassDefFoundError: org/mybatis/logging/LoggerFactory

NoClassDefFoundError: org/mybatis/logging/LoggerFactory 问题描述问题分析问题解决 问题描述 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name userServiceImpl: Unsatisfied dependency expressed through field baseM…

QT 绘图与重绘事件

代码实现仪表盘 .cpp #include "widget.h" #include "ui_widget.h"#include <QPainter> #include <QPen> #include <QBrush>#include <QDebug> Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->…

【网站项目】基于springboot与vue的电子商城项目

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

C++设计模式(李建忠)笔记3

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 文章目录 C设计模…

STL常用容器—vector容器

STL常用容器—vector容器 vector基本概念容器的基本操作容器的常见方法容器迭代器&#xff08;遍历&#xff09;容器的插入与删除容器的嵌套及存放自定义数据容器的嵌套容器存放自定义数据 vector基本概念 功能&#xff1a; vector数据结构和数组非常相似&#xff0c;也称为单…

Chrome 开发者工具

Chrome 开发者工具 介绍控制面板时间线下载信息概要请求列表单个请求时间线优化时间线上耗时项 lighthouse 插件Performance&#xff08;性能指标&#xff09;Accessibility&#xff08;可访问性&#xff09;Best Practices&#xff08;最佳实践&#xff09;SEO&#xff08;搜索…

Iris微服务框架_golang web框架_完整示例Demo

Iris简介 Iris是一款Go语言中用来开发web应用的框架&#xff0c;该框架支持编写一次并在任何地方以最小的机器功率运行&#xff0c;如Android、ios、Linux和Windows等。该框架只需要一个可执行的服务就可以在平台上运行了。 Iris框架以简单而强大的api而被开发者所熟悉。iris…