数据库是非常重要的技术,安全人员绝对离不开数据库,必须要好好学一学。
1.1 什么是【数据库】?
库:水库、仓库,存储东西的容器、地方。
数据库:存储数据的仓库,这个仓库更特别,摸不着,看不见。在计算机里面。
1.2 为什么需要数据库?
网站元素:
图片
,
视频
,
压缩包
文本
,html,js,css,php,python,java
(程序代码)
网站元素存放地点:
存储服务器上:图片
,
视频
,
压缩包
(资源文件)
,可以是
Linux
上一个目录
Web
服务器上:
html,js,css,php,python,java
(程序文件)
,
Linux
上一个目录
数据库里:
文本
:文章、订单、商品、钱、装备(文本内容),
Linux
单独复杂软件(容器)
数据库可以存储文本、图片、视频,采用单独的文件系统的(自身有存储引擎)形式。
数据库往往采用单独的软件来实现对数据的存取。
##
电商网站,这些功能都必须要数据库来交互。
注册会员、登录会员、购买订单、支付、物流跟踪、评价
1.3 数据库处于网站当中的位置
数据库网站最核心【指挥部】,没有之一,处于网站的最后端。
极其重要,最核心数据都在数据库里。
最脆弱,极难扩展。最容易出现瓶颈,最重要。
1.4 数据库种类
1.关系型数据库:
最古老的数据库,本质二维表格(
excell
表格
)
产品:
oracle(
当下市场只有存量,几乎没有增量了
)
、
mysql
,
sql server(
微软产品
)
访问:存取是使用
sql
语言
场景:动态网站的后端(用户、密码、文章、商品、订单、钱)
优点:数据安全有充分的保证。
*
缺点:访问效率低,扩展困难。
数据库管理员:
DBA
(
database administrator
)
待遇工资:高于运维、高于安全、高于开发
重要程度:公司里最重要的岗位,没有之一。
国产数据库百花齐放时代:千家厂商乱世争雄
oracle
:当下市场只有存量,几乎没有增量,中国未来
3-10
年绝大部分被替换。
不需要刻意学,有需要就学。
mysql:
互联网最火,但是被
oracle
收购了。
sql server
:微软产品
(C#
语言,
ASP,ASP.NET)
2.NOSQL数据库(not only sql)
(
2008
开始移动互联网,数据量暴增)
定位:关系数据库的补充,而不是替代关系数据库。
特点:不是
特别
关心数据安全,关注核心是高并发(同时访问的人数)。
背景:大并发、大流量、大数据量,解决关系数据库的短板,核心解决大并发。
产品:
memcache
(内存数据库)
,redis
(内存
+
磁盘)
,mongodb
(文档类数据库)
redis
:用于数据库前端做数据库的缓存
mongodb
:文档型数据库,
json
格式数据,是一种轻量级的数据交换格式
3.new sql(国产数据库),
几乎都是
分布式数据库
(面向物联网)
ob(
蚂蚁金服
)
、
tidb(TB
级别数据量
)
、高斯
db
(华为)、达梦
定位:国产、大并发、大流量、大数据量、大存储量。
架构:分布式数据库、随意扩展。
千亿市场,有很多机会。
4.云时代数据库(云厂商开发维护)
阿里云
RDS,
腾讯云
TDSQL
5.看看数据库排名(趋势)
1、国产十大数据库排名是:
OceanBase
、
TiDB
、
openGauss
、
GaussDB
、
达梦、
PolarDB
、
GBase
、人大金仓、
TDSQL
2、所有数据库排名
1.Oracle
传统公司,国家企事业
2.MySQL
互联网公司
3.Microsoft SQL Server
(老男孩放弃)
4.PostgreSQL
互联网公司
5.MongoDB
互联网公司
6.Redis
缓存
7.Elasticsearch
搜索业务
1.4 mysql数据库
1
)特点
:
1.
关系型数据库
2.
使用
sql
语句管理
3.
互联网公司最常用
(
a.
免费。
b.
开源。
c.
稳定。
d.
社区活跃
e.
大并发解决方案
.f.
数据安全能够得到保证)
2
)
mariadb
mysql
数据库的近亲兄弟
mysql
被
10
亿美金被
oracle
收购,可能收费。
mysql
创始人跳出来又搞了一个数据库
mariadb
,和
mysql
几乎一样,但仍然开源。
centos
系统官方源就把
mysql
软件包从官方原里面去掉,把
mariadb
加入到了官方源里。
那么我们学习
mariadb
,所有学习到的东西无缝用到
mysql
里。
1.5 安装mariadb
1.安装mariadb
yum install mariadb-server mariadb -y
2.启动及加入开机自启动
#启动
systemctl start mariadb
#加入开机自启动
systemctl enable mariadb
3.端口检查
ss -lnt|grep 3306
##有飘红的3306就对了。
4.开机自启动检查
#方法1:
systemctl status mariadb
#方法2:
systemctl list-unit-files|grep mari
#方法3:
systemctl is-enabled mariadb
5.登录与退出
[root@oldboy ~]# mysql
MariaDB [(none)]> quit或ctrl+d退出
6.数据库数据目录和错误日志
[root@oldboy ~]#rpm -ql mariadb-server
/var/lib/mysql ##数据库数据目录
/var/log/mariadb/mariadb.log ##错误日志
7.安装过程遇到错误如何排查?
1)grep -i error /var/log/mariadb/mariadb.log
2)systemctl status mariadb
3)新数据库正常安装现启动不了#忽略依赖卸载
rpm -e --nodeps mariadb-server mariadb
#删除数据库的数据目录
rm -fr /var/lib/mysql
#安装数据库
yum install mariadb-server mariadb -y