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

相关推荐
zhouyunjian1 小时前
10-ScheduledThreadPool应用与源码分析
运维·服务器·数据库
凯子坚持 c1 小时前
《openGauss向量数据库_助力企业RAG应用落地实践》
数据库
小熊officer1 小时前
mysql创建用户以及赋予权限
数据库·mysql
@游子1 小时前
SQL注入之文件读写(四)
android·数据库·sql
我科绝伦(Huanhuan Zhou)1 小时前
深入探索Oracle数据库空间管理与监控
数据库·oracle
2***63551 小时前
SQL常用语句(基础)大全
数据库·sql·oracle
好好研究1 小时前
MyBatis框架 - 逆向工程
java·数据库·mybatis