目录
一、数据库概述
1.1数据
1.2表
1.3数据库
总结:
2.数据库管理系统(DBMS)
3.DBMS工作模式
4.数据库系统原理
二、数据库发展史
三、主流数据库
四、关系型数据库和非关系型数据库
1.关系型数据库
2.非关系数据库
MYSQL数据库
二、编译安装MYSQL
1.关闭防火墙和selinux
2.安装mysql环境依赖包
3.创建运行用户
4.去opt下,下载安装包
5.编译
6.安装
7.更改mysql安装目录和配置文件的属主属组
8.修改mysql配置文件
9.设置路径环境变量
10.初始化数据库
11.添加mysql系统服务
12.修改mysql登录密码
13.授权远程登录
14.查看数据库
15.登录你想查看你的库
16.查看表
一、数据库概述
1.1数据
记录每个人的信息
1.2表
存放信息的集合
1.3数据库
表的集合,存储数据的仓库
总结:
数据库——>数据表——>数据
2.数据库管理系统(DBMS)
管理数据库的资源
数据库的建立和维护功能:建立数据库的结构、数据库的恢复
数据库的定义功能:定义数据的结构和信息格式
数据操作功能:数据查询和更新
数据库的运行管理功能:存取控制、数据库内部维护功能
数据库的通信功能:DBMS与其他软件系统之间通信(接收到其他软件的信号,回应他)
3.DBMS工作模式
1.接受应用程序的数据请求和处理请求
2.将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
3.实现对数据的操作中接受查询结果
4.从数据库的操作中接受查询结果
5.对查询结果进行处理(格式转换)
4.数据库系统原理
###数据通过应用程序(Tomcat);去请求DBMS系统;DBMS系统把数据转换为DB(MYSQL)能识别的语言(底层指令);DB去查询你要的用户和密码;
###DB返回查询的数据给DBMS;DBMS把结果转换为高级指令给数据;数据给应用程序;
###应用程序给Nginx;Nginx'给到用户
二、数据库发展史
1969年,第一代数据库系统问世;层次模型和网状型的数据库系统IMS
1970年,第二代数据库——关系数据库开始出现
1980年,第三年数据库——非关系数据库NoSQL(可以接收大量数据)+关系数据库SQL(无法接收大量数据)
###web——>redis——>mysql
###CPU——>缓存——>内存
###非关系数据库给关系数据库做一个缓冲
三、主流数据库
SQL Server(微软公司)
###图形化界面;简单;Oracle(甲骨文公司)
###主流平台;操作复杂DB2(IBM公司)
###主流平台;安全、完善MySQL(甲骨文公司收购)
###免费、开源、体积小PostgrSQL
四、关系型数据库和非关系型数据库
1.关系型数据库
常见的关系型数据库:MYSQL、Oracle
数据在硬盘上
关系数据库的结构是:二维表
二维表格:行+列
优点:便于维护、使用方便
缺点:速度慢、不灵活(表结构固定好了,数据必须和结构一样)
2.非关系数据库
常见非关系数据库:mongoDB、Redis
数据存在内存中
优点:读写速度快、海量数据存储、高扩展(#就是分布式处理)和高可用
缺点:数据结构复杂、数据写在内存中(电脑重启就没了)
不以关系模型为依据,不需要固定的表格式
分布式:分为多个通道处理,最后汇总
MYSQL数据库
开源关系型数据库
遵守GPL协议
特点:性能好、基于C/S架构、安全、开源
二、编译安装MYSQL
1.关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
hostnamectl set-hostname mysql
####修改主机名,方便操作
bash
2.安装mysql环境依赖包
yum install -y gcc gcc-c++ ncurses ncurses-devel bison cmake
安装结果
3.创建运行用户
useradd -M -s /sbin/nologin mysql
4.去opt下,下载安装包
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
5.编译
cd mysql-5.7.20/
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=boost \
-DWITH_SYSTEMD=1
6.安装
make -j4
可以更改一下虚拟机 内核数,加快安装速度
make install
7.更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
看安装目录属主属组
看配置文件属主属组
8.修改mysql配置文件
vim /etc/my.cnf
[client]
port = 3306
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
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
9.设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
source /etc/profile
10.初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
11.添加mysql系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
12.修改mysql登录密码
mysqladmin -u root -p password "abc123"
###给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可
13.授权远程登录
mysql -u root -pabc123
14.查看数据库
show databases;
15.登录你想查看你的库
use mysql
16.查看表
show tables