当前位置: 首页 > news >正文

数据库介绍以及windows下mysql安装

文章目录

    • 1. 前言
    • 2. MySQL概述
      • 2.1 相关概念
      • 2.2 DBMS的分类
      • 2.3 数据库交互图
      • 2.4 MySQL 介绍
    • 3. MySQL 安装

数据库介绍以及windows下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采用分层架构,核心组件包括:

  1. 连接层
    • 处理客户端连接、认证及线程管理,支持TCP/IP、Unix Socket等协议。
  2. 服务层
    • SQL解析器:解析并校验SQL语法,生成执行计划。
    • 查询优化器:选择最优索引和执行路径,提升查询效率。
  3. 存储引擎层
    • 负责数据存储与读写,支持多种引擎(如InnoDB、MyISAM)。
    • InnoDB:默认引擎,支持事务、外键及MVCC(多版本并发控制)。
  4. 底层存储系统
    • 数据以文件形式存储(如InnoDB的.ibd文件),依赖操作系统管理磁盘IO。

MySQL 常见应用场景🐾如下:

  1. WEB应用开发

    • MySQL在动态网站和Web应用中占据主导地位,尤其适合以下场景:

      • 电商平台:存储商品信息、订单数据和用户行为,支持高并发交易(如淘宝、京东等大型平台)。
      • 内容管理系统(CMS):WordPress、Drupal等主流CMS默认采用MySQL管理文章、评论和用户权限。
      • 社交媒体:处理用户关系链、帖子内容及互动数据,例如Facebook早期架构中的部分功能依赖MySQL。
  2. 企业级应用

    • MySQL在企业内部系统中表现突出,例如:

      • 客户关系管理(CRM):集中管理客户资料、交易记录和沟通日志。
      • 供应链与库存管理:实时跟踪库存变动,支持多仓库协同操作。
      • 人力资源管理(HRM):存储员工档案、薪资信息和绩效考核数据。
  3. 移动应用与物联网(IoT)

    • MySQL在移动应用后端和IoT现突出,例如:
      • 移动应用后端:健身类App记录用户运动数据,社交类App存储聊天记录,均依赖MySQL的高效读写能力。
      • 物联网设备管理:存储传感器数据(如温度、湿度)、设备状态及日志,适用于智能家居和工业物联网。

3. MySQL 安装

  1. 下载 MySQL 安装包,下载的是 8.0.28 windows 版本,大家可以直接点击下载 8.0.28 mysql下载链接

  2. 直接解压到自定义目录;

  3. 安装要看压缩包内容是免安装还是msi后缀需要安装的,上面链接下载的是免安装版本的安装参考 免安装,如果是需要安装版本,请参考下面链接完成配置 msi后缀参考 ;

  4. 添加 第 2 步骤中自定义安装目录中 bin 目录到系统 PATH;

  5. 进入cmd 命令行进行版本验证;

    C:\Users\xxx>mysql --version
    mysql  Ver 8.0.28 for Win64 on x86_64 (MySQL Community Server - GPL)
    
  6. 连接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>
    
  7. Navicat 安装参考 Navicat16安装

相关文章:

  • vector和string的迭代器
  • BG开发者日志505:项目总体情况
  • PowerPC架构详解:定义、应用及特点
  • 软件管理(安装方式)
  • MCP 探索:MCP 集成的相关网站 Smithery、PulseMCP 等
  • MySQL安装完全指南:从零开始到配置优化(附避坑指南)
  • 【Python生成器与迭代器】核心原理与实战应用
  • 【Python实战】飞机大战
  • 吾爱出品 [Windows] EndNote 21.5.18513 汉化补丁
  • 【进阶】C# 委托(Delegate)知识点总结归纳
  • Rotary Positional Embedding
  • QT6 源(72):阅读与注释单选框这个类型的按钮 QRadioButton,及各种属性验证,
  • 存在重复元素II(简单)
  • Three.js在vue中的使用(二)-加载、控制
  • web应用开发说明文档
  • 连续变量与离散变量的互信息法
  • pcf8563时钟驱动编写记录
  • C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 20)
  • Java响应式编程
  • 【C++篇】类和对象(上)
  • 客流持续高位运行,长三角铁路计划增开153列旅客列车
  • 美股三大指数均收涨超1%,热门中概股强势拉升
  • 贵州赤水丹霞大瀑布附近山体塌方车辆被埋,景区:无伤亡,道路已恢复
  • 11家券商一季度净利翻番:9家利润超20亿,国泰海通居首
  • 五一期间全国高速日均流量6200万辆,同比增长8.1%
  • 解放日报:浦东夯实“热带雨林”式科创生态