数据库的基本概念及安装MySQL 5.7部署

我与影子孤独终老i 提交于 2020-01-04 02:44:09

在这里插入图片描述

MySQL数据库介绍

  • MySQL是一款深受欢迎的开源关系型数据库
  • Oracle旗下的产品
  • 遵守GPL协议,可以免费试用与修改
  • 特点
    ① 性能卓越、服务稳定
    ② 开源、无版权限制、成本低
    ③ 多线程、多用户
    ④ 基于C/S(客户端/服务端)架构
    ⑤ 安全可靠

数据库的基本概念

数据
  • 描述事务的符号记录称为数据
  • 包括数字,文字,图形,图像,声音,档案等
  • 以“记录”形式按统一的格式进行存储
  • 将不同的记录组织在一起,就形成了“表”
  • 是用来存储具体数据的
数据库
  • 数据库就是表的集合,是存储数据的仓库
  • 以一定的组织方式存储的相互有关的数据

① 数据库作用:数据的持久化保存,高可靠,高可用,数据的快速提取
② 数据库存储类型:关系型数据库 非关系形数据库
关系型数据库:存储的是数值,字符,字符串,布尔值等,
③ 非关系型数据库:存储的是图片,视频,语音等
关系形数据库
mysql(oracle公司)、sql server(微软公司)、access(微软公司office),oracle(oracle公司)、db2(IBM公司),sybase(sybase公司)
④ 非关系型数据库NOSQL
MongoDB redis (内存数据库、缓存数据库)K-V key-valus 变量名-值
memcache (内存数据库、缓存数据库)K-V键值对

相同点:存储高热数据库
不同点:redis可以做持久化保存,可以储存对象

一、关系形数据库

  • 关系数据库系统是基于关系模型的数据库系统,他的基本概念来自于关系模型
  • 关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维数据表,可以用简单的"实体-关系"图来直接表示
  • E-R图中包含了实体、关系和属性三个要素
    在这里插入图片描述
实体
  • 也称为实列,对应现实世界中可区别于其他对象的“事+ 件”或“事务”,如银行客户、银行账户等
属性
  • 实体所具有的某一特性,一个实体可以有多个属性。例如,“银行客户”实体集中的每个实体均具有姓名、地址、电话等属性
联系
  • 实体集之间的对应关系称为联系,也称为关系。例如,银行客户和银行账户之间的存在“储蓄”的关系
  • 所有实体及实体之间联关系数据库
关系数据库
  • 关系数据库的存储结构是二维表格,反映事物及其联系的数据是以表格形式保存的
  • 在每个二维表格中,每一行称为一条记录,用来描述一个对象的信息;每一个称为一个字段,用来描述对象的一个属性
  • 在这里插入图片描述

二、非关系数据库介绍

  • 非关系数据库也被称作NoSQL,存储数据不以关系模型为依据,不需要固定的表格式
  • 非关系型数据库作为关系数据库的一个补充,在日益快速发展的网站时代,发挥着高效与高性能
  • 非关系型数据库的优点
    ① 数据库高并发读写的需求
    ② 对海量数据库高效的存储与访问
    ③ 数据库的高扩展性与高可用性的需求
非关系型数据库存储方式
  • 键-值方式,以键为依据的存储、删、改数据
  • 列存储,将相关的数据存储在列族中
  • 文档的方式,数据库由一系列数据项组成,每个数据项都有名称与对应的值
  • 图形方式、实体为顶点,关系为边,数据保存为一个图形

在这里插入图片描述

  • 非关系数据库产品
    r+ edis也是一个以key-valus方式存储数据库,数据库也是保存在内存中,但会定期将数据写入磁盘中
  • 相对于Memcached有以下特点
    ① 支持内存缓存
    ② 支持持久化
    ③ 数据类型更多
    ④ 支持集群、分布式
    ⑤ 支持队列

安装mysql

#安装环境
yum install gcc gcc-c++ ncurses ncurses-devel bison cmake -y
#添加程序形用户
useradd -s /sbin/nologin mysql
tar zxvf mysql-5.7.17.tar.gz -C /opt
tar zxvf boost_1_59_0.tar.gz -C /usr/local/         c++运行库
#重命名
cd /usr/local/
mv boost_1_59_0/ boost

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_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

#添加权限
chown -R mysql:mysql /usr/local/mysql/

#配置文件
vim /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
#给my.cnf添加权限
chown mysql:mysql /etc/my.cnf

#声明环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile

cd /usr/local/mysql/
#重新编译
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

#重启mysql
systemctl daemon-reload 
systemctl start mysqld.service
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!