目录
步骤三:下载并安装MySQL官方的 Yum Repository
一、数据库的基本概念
(1)数据(Data)
- 描述事物的符号记录
- 包括数字、文字、图形、图像、声音、档案记录等
- 以“记录”形式按统一的格式进行存储
数据库如何保存:
最外层是mysql服务->mysql数据库->数据表->记录为行,字段为列->数据保存在一行行记录中
(2)表
- 记录:行
- 字段(属性):列
- 以行+列的形式就组成了表(数据存储在表中)
- 将不同的记录组织在一起
- 用来存储具体数据
(3)数据库
- 表的集合,是存储数据的仓库
- 以一定的组织方式存储的相互有关的数据集合
(4)数据库管理系统(DBMS)
- 是实现对数据库资源有效组织、管理和存取的系统软件
BMS主要包括以下功能:
- 数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。
- 数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出。
- 数据操纵功能:包括数据查询统计和数据更新两个方面。
- 数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。
- 通信功能:DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行数据交换。
(5)数据库系统
- 是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成
- 用户可以通过DBMS或应用程序操作数据库
-
常用的数据库应用软件有人事管理、财务管理、图书管理等信息管理软件及各类信息咨 询系统等
-
数据库管理员(DatabaseAdministrator,DBA)负责数据库的更新和备份、数据库系统的维护、用户管理等工作,保证数据库系统的正常运行。DBA 一般由业务水平较高、资历较深的人员担任
-
需要注意的是数据库、数据库系统、数据库管理系统,甚至数据库表等名词,在日常讨论中通常不严格区别。遇到此情况时,可以根据具体情况,判断出实际所指的是什么
DBMS的工作模式如下:
1>接受应用程序的数据请求和处理请求
2>将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
3>实现对数据库的操作
4>从数据库的操作中接受查询结果
5>对查询结果进行处理(格式转换)
6>将处理结果返回给用户
二、数据库的发展
2.1 发展的三个阶段:
- 层次型和网状型: 代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。
- 关系型数据型库: 目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysem R和Inges。
- 第三代数据库:将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。管理技术的3个阶段1 人工管理2 文件管理3 数据库系统
第三代数据库
一些新的元素被添加进主流数据库系统中
引申:SQL + NoSQL 组合使用
- web ——> redis ——> mysql
- CPU ——> 缓存 ——> 内存
2.2 关系数据库(SQL)
(1)概念
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组
织
-
关系数据库系统是基于关系模型的数据库系统;
-
关系模型的数据结构使用简单易懂的二维数据表;
-
关系模型可用简单的“实体-关系”(E-R)图来表示;
-
E-R图中包含了实体(数据对象)、关系和属性三个要素。
(2)关系数据库的简单理解
简单来说:
- 表与表的关系
- 每个表都有主键:唯一、非空
(3)优缺点
优点:
- 易于维护:都是使用表结构,格式一致;
- 使用方便:SQL语言通用,可用于复杂查询;
- 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
- 读写性能比较差,尤其是海量数据的高效率读写;
- 固定的表结构,灵活度稍欠;
- 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
注:关系型数据库数据只能存于磁盘
(4)常见关系数据库
- mysql
- oracle
- sql server
- sqlite
2.3 非关系数据库(NoSQL)
(1)概念
非关系型数据库严格上不是一加粗样式种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等
- 非关系数据库也被称作NoSQL (Not Only sQL)。存储数据不以关系模型为依据,不需要固定的表格式。
- 按照键值对的形式进行存储,例如k/v、key/value。
(2)优缺点
优点:
- 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
- 速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
- 高扩展性;
- 成本低:nosql数据库部署简单,基本都是开源软件。
- 数据库可高并发读写;
- 对海量数据高效率存储与访问;
- 数据库具有高扩展性与高可用性。
缺点:
- 不提供sql支持,学习和使用成本较高;
- 无事务处理;
- 数据结构相对复杂,复杂查询方面稍欠。
(3)非关系型数据库的分类和比较
- 文档型
- key-value型
- 列式数据库
- 图形数据库
三、主流的数据库介绍
(1)SQL Server(微软公司产品)
- 面向Windows操作系统
- 简单、易用
(2)Oracle (甲骨文公司产品)
- 面向所有主流平台
- 安全、完善,操作复杂
(3)DB2(IBM公司产品)
- 面向所有主流平台
- 大型、安全、完善
(4)MySQL (甲骨文公司收购)
- 免费、开源、体积小
(5)国产系统介绍
- 华为:欧拉
- 阿里:龙蜥
- 腾讯:tencentOS
- 麒麟:(银河麒麟、中标麒麟 – >centos 优麒麟 – > Ubuntu )
- 统信:uos
- 红旗
- 深度:deepin
四、MySQL安装方法
- 二进制安装
- 编译安装
- yum源安装
4.1 二进制安装
安装环境:
数据库版本:5.7.20
操作系统版本: CentOS 7
安装步骤:
4.2 编译安装(MySQL安装)
4.3 yum源安装
步骤一:删除之前的mysql残留
步骤二:升级一下系统版本和内核版本
因为的的CentOS从官网下载的,可能比较老,安装其他软件的时候总是出现一些奇怪的问题,所以推荐升级。
yum -y update
步骤三:下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
步骤四:使用yum安装
yum -y install mysql57-community-release-el7-11.noarch.rpm
步骤五:安装MySQL服务器
yum -y install mysql mysql-server mysql-devel
注意:如果有这个问题
解决方法:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-community-server
步骤六:启动MySQL
systemctl start mysqld.service
步骤七:查看MySQL运行状态
systemctl status mysqld.service
步骤八:查找Mysql密码
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log
步骤九:进入数据库,输入密码登录
mysql -uroot -p
注意:如果遇到这个问题
解决方法:
解决完问题后继续:
补充:忘记原密码进行修改密码
1、先修改my.cnf文件使其可以不用密码登录MySQL数据库
vim /etc/my.cnf
在最后一行添加 skip-grant-tables
2、关闭MySQL服务器后重启MySQL服务器
systemctl stop mysqld
systemctl start mysqld
systemctl status mysqld
3、进入MySQL
输入 mysql -u root -p 后回车不需输入密码直接回车即可直接进入MySQL
4、修改MySQL密码
#切换数据库
use mysql;
#刷新一下mysql权限
flush privileges;
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'
#修改完毕后推出数据库
exit
5、设置完密码后再次进入my.cnf文件中将第一次添加的代码删掉然后重启MySQL在通过密码进入MySQL后再次更改密码