数据库介绍以及windows下mysql安装
文章目录
- 1. 前言
- 2. MySQL概述
- 2.1 相关概念
- 2.2 DBMS的分类
- 2.3 数据库交互图
- 2.4 MySQL 介绍
- 3. MySQL 安装
1. 前言
我们浏览的淘宝商品页面详情、刷视频网站的一个个视频,这些数据其实都是存储在公司的存储系统中的。想象一下,如果我们逛淘宝,刷视频的时候半天点不动的情景(有点像早些年的android卡住情景),是不是很崩溃。因此,高效的读取、高并发的交互、高可靠性的运行是对大数据管理的考验。而我们的数据库,就可以高效用、高并发、高可靠性的解决这些问题。
💭数据库是什么呢?
数据库,通俗简单的理解,就是使用特定数据结构来组织、存储和管理数据的集合,可以理解为电子化的文件柜或数据仓库。
🤔数据库有什么特点呢?
- 数据结构化
- 数据库通过数据模型(如关系模型、文档模型)对数据进行统一组织,形成逻辑结构化的数据集合。
- 高共享性与低冗余
- 共享性:数据库允许多用户和应用程序同时访问同一组数据,避免数据重复存储。例如,企业各部门共享客户信息数据库,减少数据孤岛。
- 低冗余:通过规范化设计(如第三范式)消除重复数据,例如在订单系统中,客户信息仅需存储一次,而非在每个订单中重复记录。
- 高度独立性
- 物理独立性:数据存储的物理结构(如磁盘布局、索引方式)变化不影响应用程序。例如,数据库管理员升级存储设备时,应用程序无需修改。
- 逻辑独立性:数据的逻辑结构(如表关系、字段定义)调整时,应用程序通过视图或中间层隔离变化。例如,修改表结构后,前端应用仍能正常访问数据。
- 数据一致性和完整性
- 一致性:通过事务管理(ACID特性)确保多操作的原子性、隔离性,避免数据冲突。例如,转账操作中,若一方扣款失败,另一方的存款操作会回滚,保证余额一致。
- 完整性:通过约束(主键、外键、唯一性约束)和规则(如非空字段)防止非法数据进入。例如,用户注册时,系统强制校验邮箱格式。
- 安全性
- 访问控制:设置用户权限(如读、写、执行),限制敏感数据访问。
- 加密技术:对传输和存储的数据进行加密,防止窃听或篡改。
- 审计与日志:记录操作日志,追踪异常行为。
- 持久性与备份恢复
- 持久性:数据存储在磁盘等非易失性介质中,即使系统故障也不会丢失。
- 备份与恢复:支持定期备份(完全备份、增量备份)和故障恢复机制。例如,GBase数据库通过分布式存储和日志文件实现快速恢复。
- 高并发与事务处理
- 锁机制:如排他锁(X锁)和共享锁(S锁),防止数据冲突。
- 事务隔离级别:如三级封锁协议,确保多用户操作互不干扰。
- 分布式架构:将数据分片存储,提升吞吐量。例如,GBase8A支持高频交易场景的实时处理。
- 可扩展性与分布式
- 水平扩展:通过分布式数据库(如Cassandra)增加节点,应对数据量增长。
- 混合云架构:部分数据存储在云端,降低本地负载。例如,GBase结合混合云优化医疗数据管理。
- 支持多种数据模型
- 关系型:适合结构化数据(如金融交易记录),支持复杂查询和事务。
- 非关系型:如MongoDB(文档型)处理半结构化数据(如社交媒体内容),Redis(键值型)实现高速缓存。
- 高效查询与处理能力
- 索引优化:通过B树、哈希索引加速检索。
- 查询语言:如SQL支持复杂分析,NoSQL提供灵活的查询接口。
- 并行处理:利用多核CPU和分布式计算提升性能,如GBase8C支持实时分析。
数据库的数据模型有多种,如关系型、非关系型、混合型。本文主要在 linux 环境下讲解 关系型数据库管理系统 MySQL
安装,后续陆续更新其他内容。
2. MySQL概述
2.1 相关概念
-
数据库:(DataBase,DB)存储数据的仓库,数据是有组织的进行存储。
-
数据库管理系统:(Database Management System, DBMS)是用于创建、维护和管理数据库的软件系统,位于用户与操作系统之间,提供对数据的统一访问和控制。其核心功能包括:
- 数据定义:通过DDL(如CREATE、ALTER)创建和修改数据库结构。
- 数据操作:使用DML(如INSERT、UPDATE、DELETE)和DQL(SELECT)实现数据增删改查。
- 数据控制:通过DCL(如GRANT、REVOKE)管理用户权限,确保数据安全。
- 事务管理:支持ACID特性(原子性、一致性、隔离性、持久性),保证数据操作的可靠性。
-
SQL:(Structured Query Language,SQL)操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准。
2.2 DBMS的分类
- 关系型DBMS(RDBMS):以表格形式存储数据,通过主键和外键关联表,如MySQL、Oracle。
- 非关系型DBMS(NoSQL):灵活存储非结构化数据,如MongoDB(文档型)、Redis(键值型)。
- 混合型DBMS:结合两者优势,如TiDB(NewSQL)。
2.3 数据库交互图
用户使用 SQL 语言控制DBMS数据库管理系统,DBMS根据相应指令去实现对 DB 的控制,DB的内部都是一张张表格结构。主要是关系型数据库都可以使用SQL语言进行交互。
2.4 MySQL 介绍
MySQL是全球最流行的开源关系型数据库管理系统(RDBMS)之一,其具备开源免费、高性能、跨平台、安全等特点被广泛使用。
MySQL采用分层架构,核心组件包括:
- 连接层
- 处理客户端连接、认证及线程管理,支持TCP/IP、Unix Socket等协议。
- 服务层
- SQL解析器:解析并校验SQL语法,生成执行计划。
- 查询优化器:选择最优索引和执行路径,提升查询效率。
- 存储引擎层
- 负责数据存储与读写,支持多种引擎(如InnoDB、MyISAM)。
- InnoDB:默认引擎,支持事务、外键及MVCC(多版本并发控制)。
- 底层存储系统
- 数据以文件形式存储(如InnoDB的
.ibd
文件),依赖操作系统管理磁盘IO。
- 数据以文件形式存储(如InnoDB的
MySQL 常见应用场景🐾如下:
-
WEB应用开发
-
MySQL在动态网站和Web应用中占据主导地位,尤其适合以下场景:
- 电商平台:存储商品信息、订单数据和用户行为,支持高并发交易(如淘宝、京东等大型平台)。
- 内容管理系统(CMS):WordPress、Drupal等主流CMS默认采用MySQL管理文章、评论和用户权限。
- 社交媒体:处理用户关系链、帖子内容及互动数据,例如Facebook早期架构中的部分功能依赖MySQL。
-
-
企业级应用
-
MySQL在企业内部系统中表现突出,例如:
- 客户关系管理(CRM):集中管理客户资料、交易记录和沟通日志。
- 供应链与库存管理:实时跟踪库存变动,支持多仓库协同操作。
- 人力资源管理(HRM):存储员工档案、薪资信息和绩效考核数据。
-
-
移动应用与物联网(IoT)
- MySQL在移动应用后端和IoT现突出,例如:
- 移动应用后端:健身类App记录用户运动数据,社交类App存储聊天记录,均依赖MySQL的高效读写能力。
- 物联网设备管理:存储传感器数据(如温度、湿度)、设备状态及日志,适用于智能家居和工业物联网。
- MySQL在移动应用后端和IoT现突出,例如:
3. MySQL 安装
-
下载 MySQL 安装包,下载的是 8.0.28 windows 版本,大家可以直接点击下载 8.0.28 mysql下载链接
-
直接解压到自定义目录;
-
安装要看压缩包内容是免安装还是
msi
后缀需要安装的,上面链接下载的是免安装版本的安装参考 免安装,如果是需要安装版本,请参考下面链接完成配置 msi后缀参考 ; -
添加 第 2 步骤中自定义安装目录中 bin 目录到系统 PATH;
-
进入cmd 命令行进行版本验证;
C:\Users\xxx>mysql --version mysql Ver 8.0.28 for Win64 on x86_64 (MySQL Community Server - GPL)
-
连接mysql
C:\Users\xx>mysql -u root -p # 输入第3步中的密码,会看到如下部分 Enter password: ********* Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.28 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
-
Navicat 安装参考 Navicat16安装