文章目录
- 一、数据库概念
-
- [1.1 数据库基本概念](#1.1 数据库基本概念)
- [1.2 表](#1.2 表)
- [1.3 数据库](#1.3 数据库)
- [1.4 数据库管理系统](#1.4 数据库管理系统)
- [1.5 数据库系统(DBS)](#1.5 数据库系统(DBS))
- 二、数据库发展史
-
- [2.1 关系型数据库](#2.1 关系型数据库)
- [2.2 非关系型数据库(NoSQL)](#2.2 非关系型数据库(NoSQL))
- 三、数据库的安装
一、数据库概念
1.1 数据库基本概念
- 定义:描述客观事物的符号记录(Data),包括数字、文字、图像、声音等。
- 存储方式:
以记录形式存储,统一格式。
相同类型的数据存放在一起(如"学生"数据不会和"图书"混在一起)。 - 数据库的保存形式:
MySQL 服务 → 数据库 → 数据表 → 行(记录) + 列(字段)
1.2 表
- 表结构= 行(记录) + 列(字段)
- 特点
记录由字段组成,字段由字符/数字组成
可供不同用户共享
具有较小的冗余度和较高的数据独立性
1.3 数据库
- 数据库就是 表的集合,是按照一定组织方式存储的 相关数据集合。
1.4 数据库管理系统
- 定义:操作和管理数据库的软件。
- 主要功能:
- 建库与维护(建表、转储与恢复、重组、性能监视)
- 数据定义(数据结构、存储结构、保密模式)
- 数据操作(查询、统计、更新)
- 运行管理(并发控制、存取控制、维护)
- 通信(与其他软件交互,如 Access 和 Office 组件)
数据库系统
是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成
用户可以通过DBMS或应用程序操作数据库

1.5 数据库系统(DBS)
- 组成:硬件 + 操作系统 + 数据库 + DBMS + 应用软件 + 用户
- DBA(数据库管理员):负责备份恢复、维护、用户管理。
- 数据库应用软件:Navicat、人事管理系统、财务系统、图书管理等。
DBMS工作模式:
- 接收请求
- 转换为底层指令
- 执行数据库操作
- 获取结果
- 格式化结果
- 返回给用户
二、数据库发展史
- 第一阶段(层次型/网状型)
- 第二阶段:(关系型)
- 第三阶段:(新型数据库)
特点:特点:面向对象、开放性、多平台
SQL + NoSQL 混合使用 第三代
新兴数据库:MariaDB、PostgreSQL、时序数据库 Promethues
2.1 关系型数据库
- 数据库模型:E-R模型(实体-关系)
行(记录)=实体
列(字段)=属性
表与表之间存在关系(1对1,1对多,多对多) - 主键:唯一、非空、类比身份证
- 常见产品:MySQL、Oracle、SQL Server、DB2、PostgreSQL等。
2.2 非关系型数据库(NoSQL)
- 定义:Not Only SQL,存储方式不限于表,可存储键值对、文档、列式数据等。
- 典型产品;Redis、Memcached、MongoDB、HBase。
- 应用场景:高并发、缓存、大数据实时计算。
非关系型数据库优点:
- 格式灵活(Key-Value、文档、图片等)
- 速度快(基于内存存储)
- 高扩展性
- 成本低(开源,部署简单)
非关系型数据库缺点: - 不支持 SQL
- 缺少事务处理
- 复杂查询支持不足
- 大部分数据在内存,成本较高
三、数据库的安装
1、环境的准备:
bash
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
- gcc:编译工具
- ncures/ncurses-devel:字符段终端交互库。
- bison:语法分析器。
- cmake:MySQL编译工具。
2、创建MySQL专用用户
useradd -s /sbin/nologin mysql
3、源码解压与依赖
bash
tar zxvf mysql-5.7.17.tar.gz -C /opt
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost
4、CMake 编译配置
进入源码目录:
cd /opt/mysql-5.7.17/
执行 cmake(关键参数):
bash
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \ #指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8 \ #指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \ #指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安装BLACKHOLE存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #安装FEDERATED存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ #指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \ #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1
编译安装:
bash
make && make install
5、创建普通用户管理mysql
bash
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
#更改管理主/组
chown mysql:mysql /etc/my.cnf
修改配置文件 /etc/my.cnf
6、修改配置文件
vim /etc/my.cnf
7、#设置环境变量,申明/宣告mysql命令便于系统识别
bash
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
8、#初始化数据库
bash
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \ #生成初始化密码为空
--user=mysql \ #指定管理用户
--basedir=/usr/local/mysql \ #指定数据库的安装目录
--datadir=/usr/local/mysql/data #指定数据库文件的存储路径
9、设置开机自启动服务等
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload #刷新识别
systemctl start mysqld.service #开启服务
systemctl enable mysqld #开机自启动
netstat -anpt | grep 3306 #查看端口
10、给root账号设置密码:
mysqladmin -u root -p password "123456"
回车登录
mysql -u root -p123456