本文主要内容就是来比较一下常见的两种数据存储系统关系型数据库和非关系型数据库的主要特点,以及他们各自适用的场景,让我们在做出选择时不再迷茫。
1 SQL VS NoSQL
2 关系型数据库的特点和适用场景
2.1 关系数据库的特点
2.1.1 数据结构化存储在二维表中
2.1.2 支持事务的原子性A,-致性C,隔离性I,持久性D 特性
2.1.3 支持使用SQL语言对存储在其中的数据进行操作
2.2 关系数据库的适用场景
2.2.1 数据之间存在着一定关系
2.2.2 需要关联查询数据的场景
2.2.3 需要事务支持的业务场景
3 非关系型数据库的特点和适用场景
3.1 非关系型数据库的特点
3.1.1 存储结构灵活,没有固定的结构
3.1.2 对事务的支持比较弱,但对数据的并发处理性能高
3.1.3 大多不使用SQL语言操作数据
3.2 非关系型数据库的适用场景
3.2.1 数据结构不固定的场景
3.2.2 对事务要求不高,但读写并发比较大的场景
3.2.3 对数据的处理操作比较简单的场景
4 关系统型数据库选型步骤
数据库使用的广泛性
数据库的可扩展性
数据库的安全性和稳定性
数据库所支持的系统
数据库的使用成本
5 为项目选择适合的数据库
5.1 数据库使用的广泛性
5.2 MySQL数据库的可扩展性
◆ 支持基于二进制日志的逻辑复制 ◆ 存在多种第三方数据库中间层,支持读写分离及分库分表。
5.3 MySQL的安全性和稳定性
◆MySQL主从复制集群可达到99%的可用性。 ◆配合主从复制高可用架构可以达到99.99%的可用性。 ◆支持对存储在MySQL的数据进行分级安全控制。
5.4 MySQL所支持的系统
◆ 支持Liunx系统 ◆ 支持Windows系统 ◆ 支持macOS系统
5.5 MySQL的使用成本
◆ 社区版本免费 ◆ 使用人员众多,可以方便的获取技术支持
6 下载安装MySQL
- MySQL版本 8.0.16
6.1 Mac环境
- 下载命令
brew install mysql
- 安装结果
==> Pouring mysql-8.0.16.mojave.bottle.tar.gz
==> /usr/local/Cellar/mysql/8.0.16/bin/mysqld --initialize-insecure --
==> Caveats
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -uroot
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
mysql.server start
==> Summary
? /usr/local/Cellar/mysql/8.0.16: 275 files, 269.8MB
6.2 CentOS7 环境
下载安装虚拟机的过程省略,大家自行处理
6.2.1 系统配置
- 修改网卡配置
- 修改主机名
下载MySQL8.0
- centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装
- 使用scp将Mac上的rpm文件上传到CentOS7
- 安装 yum repo文件并更新 yum 缓存
- 更新 yum 命令
yum clean all
yum makecache
使用 yum安装mysql
当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本
- 查看mysql yum仓库中mysql版本
yum repolist all | grep mysql
可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态
- 安装MySQL
yum install mysql-community-server
参考
CentOS7 安装 mysql8