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账号设置密码

相关推荐
晚霞的不甘26 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位1 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华21 小时前
mysql索引
数据库·mysql
2601_949593652 小时前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__2 小时前
mysql新老项目版本选择
数据库·mysql
Dxy12393102162 小时前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light2 小时前
MySQL相关问题
数据库·mysql
蜡笔小炘3 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长3 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚3 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构