Mysql

目录

[一, mysql是什么](#一, mysql是什么)

[1.1 核心定位](#1.1 核心定位)

[1.2. 主要用途](#1.2. 主要用途)

[1.3. 核心特点](#1.3. 核心特点)

二,关系数据库与非关系数据库

2.1、关系数据库(代表:MySQL、Oracle、PostgreSQL)

[2.1.1. 核心特点](#2.1.1. 核心特点)

[2.1.2. 适用场景](#2.1.2. 适用场景)

2.2、非关系数据库(NoSQL,代表:MongoDB、Redis、Elasticsearch)

[2.2.1. 核心特点](#2.2.1. 核心特点)

[2.2.2. 适用场景](#2.2.2. 适用场景)

2.3、核心差异对比表

[三, Mysql编译安装](#三, Mysql编译安装)


一, mysql是什么

MySQL 是一款开源的关系型数据库管理系统(RDBMS),是目前全球最流行的数据库之一,核心特点与用途如下:

1.1 核心定位

  • 基于「关系模型」(用表、行、列组织数据,通过 SQL 语言操作);
  • 主打轻量、高效、易用,同时支持高并发、大数据量场景(通过优化配置可支撑企业级业务)。

1.2. 主要用途

  • 网站 / 应用的数据存储:比如电商平台的商品、用户、订单数据,博客的文章、评论数据;
  • 数据分析 / 报表:通过 SQL 查询、统计数据;
  • 作为后端服务的「数据底座」:配合 Java、Python 等语言开发的程序,实现数据的增删改查。

1.3. 核心特点

  • 开源免费:基础版本可免费使用,降低成本;
  • 跨平台:支持 Linux、Windows、macOS 等系统;
  • 生态丰富:配套工具(如 MySQL Workbench 可视化管理工具)、社区资源多,问题易解决;
  • 扩展性强:可通过主从复制、分库分表等方式扩展性能。

关系数据库(RDBMS)和非关系数据库(NoSQL)是两类核心的数据存储系统,核心差异体现在数据模型、适用场景等方面,以下是对比总结:

二,关系数据库与非关系数据库

2.1、关系数据库(代表:MySQL、Oracle、PostgreSQL)

2.1.1. 核心特点
  • 数据模型 :用表 - 行 - 列的结构化形式存储,表之间通过「外键」建立关联(比如用户表和订单表通过用户 ID 关联);
  • 查询语言:使用标准 SQL(结构化查询语言),语法统一、功能强大(支持复杂查询、事务);
  • 强一致性:支持事务(ACID 特性),确保数据操作的原子性、一致性(比如转账操作要么全成,要么全败)。
2.1.2. 适用场景
  • 数据结构固定、需要强一致性的场景(比如金融交易、用户账户);
  • 需要复杂关联查询的场景(比如多表联合统计)。

2.2、非关系数据库(NoSQL,代表:MongoDB、Redis、Elasticsearch)

2.2.1. 核心特点
  • 数据模型 :无固定结构,常见类型包括:
    • 文档型(MongoDB):用 JSON/BSON 格式存储(比如一条用户数据是一个包含多字段的文档);
    • 键值型(Redis):用 "键 - 值" 对存储(比如缓存用户 Token);
    • 列族型(HBase):按列存储大数据量;
  • 查询方式:无统一 SQL,用各数据库的专属 API 操作;
  • 高扩展性:天然支持分布式存储,能快速扩容以应对海量数据 / 高并发;
  • 最终一致性:部分场景牺牲强一致性,换取更高的性能和可用性。
2.2.2. 适用场景
  • 数据结构灵活(比如社交平台的动态、电商的商品属性);
  • 高并发、海量数据场景(比如 Redis 做缓存、MongoDB 存日志);
  • 对查询性能要求极高的场景(比如 Elasticsearch 做全文检索)。

2.3、核心差异对比表

维度 关系数据库 非关系数据库
数据模型 结构化表 + 关联 文档 / 键值 / 列族等非结构化
查询语言 标准 SQL 专属 API
一致性 强一致性(ACID) 最终一致性
扩展性 垂直扩容为主(升级硬件) 水平扩容为主(增加节点)
适用场景 事务、复杂关联查询 高并发、灵活结构、海量数据

简单说:关系数据库适合结构化、强一致 的场景,非关系数据库适合灵活结构、高并发的场景,实际项目中常组合使用(比如 MySQL 存核心业务数据,Redis 做缓存)。

三, Mysql编译安装

准备环境

准备文件

一份 mysql与boost,前者解压到/opt/下

后者解压至

移动到

编辑

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DSYSCONFDIR=/etc \

-DSYSTEMD_PID_DIR=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DWITH_BOOST=/usr/local/boost \

-DWITH_SYSTEMD=1

编辑普通用户管理mysql 及检查

vim /etc/my.cnf 删除原配置项,再重新添加下面内容

设置环境变量,让mysql命令便于系统识别

将 MySQL 的 systemd 服务配置文件复制到系统默认的服务目录中 ,目的是让系统能通过 systemctl 命令(如 systemctl start mysqld)管理 MySQL 服务(启动、停止、开机自启等)。

刷新识别 开机服务 开机自启动 查看端口

给root账号设置密码

相关推荐
QQ_43766431413 小时前
Redis协议与异步方式
数据库·redis·bootstrap
纪莫13 小时前
技术面:MySQL篇(InnoDB事务执行过程、事务隔离级别、事务并发异常)
数据库·java面试⑧股
Nerd Nirvana13 小时前
数据库模型全景:从原理到实践的系统性指南
数据库·oracle·电力行业
SelectDB13 小时前
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
数据库·数据分析·apache
alonewolf_9913 小时前
MySQL索引优化实战二:分页、关联查询与Count优化深度解析
数据库·mysql
TDengine (老段)14 小时前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
赵渝强老师14 小时前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大15 小时前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
高溪流16 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_9916 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql