网络安全 Day21-数据库知识

1. 什么是数据库

  • 数据库是存储数据的仓库,这个仓库更特别

2. 为什么需要数据库(分类不清晰)

  • 储存静态数据
    • 存储服务器上:图片,视频,压缩包
    • web服务器上: html,js,css,php,python,java
    • 数据库里:文本:文章、订单、商品
  • 进行交互动态数据
    • 电商网站,这些功能都必须要数据库来交互。注册会员、登录会员、购买订单、支付、物流跟踪、评价
  • 数据库管理员:DBA,工资高

3. 数据库的种类

3.1 关系型数据库

  • 本质:二维数据表
  • 代表产品:MySQL,oracle,sql server
    • oracle:当下只有存量,没有增量,未来中国三年绝大部分被替换
    • MySQL:互联网场景最火
    • sql server:微软产品
  • 访问:存取使用sql语言
  • 场景:动态网站后端
  • 优点:数据安全有充分保证
  • 缺点:访问效率低,扩展困难

3.2 NOSQL 数据库

  • 定位:关系型数据库的补充,不是替代
  • 特点:不是特别关系数据安全,核心是高并发、大流量
  • 产品:memcach(内存数据库),redis(内存数据库),mongodb (文档类数据库)

3.3 new sql (国产数据库)分布式数据库

  • 类型:tidb,ob,高斯db,达梦
  • 定位:国产、大并发、大流量、大数据量
  • 架构:分布式数据库

3.4 云数据库

  • 阿里云的RDS,腾讯云TDSQL

4. mysql 关系型数据库

  1. 特点
    1. 关系型数据库
    2. 使用sql语句管理
    3. 互联网公司常用(免费、开源、稳定、社区活跃、大并发解决方案、数据安全)
  2. mysql几乎等于mariadb所以学习后者

5. 安装mariadb

  1. 安装mariadb:yum install mariadb-server mariadb -y
  2. 启动及开机自启动
    方法一[root@oldboy ~] systemctl start mariadb  # 启动数据库
    方法二[root@oldboy ~] systemctl enable mariadb # 开机自启动
    
  3. 检查:ss -lnt|grep 3306(结果飘红就对了)或者ps -ef|grep mysqld
  4. 登录:mysql
  5. 数据库数据目录和错误日志
    1. 命令:rpm -ql mariadb-server
    2. 结果中的重要目录
      1. 数据库日志:/var/lib/mysql
      2. 错误日志:/var/log/mariadb/mariadb.log
  6. 安装后的错误排查
    1. 查看状态:grep -i error /var/log/mariadb/mariadb.log
    2. 新数据正常安装启动不了尝试一下方法
      1. rpm -e --nodeps mariadb-server mariadb
      2. rm -fr /var/lib/mysql
      3. yum install mariadb-server mariadb -y

6. SQL结构化查询语言

  • SQL 分类
    • DDL(Data Definition Language): 负责管理数据库基础数据(除了表), 关键字create, alter, drop等
    • DCL(Data Control Language): 运维人员需要掌握, 关键字commit, rollback, 等
    • DML(Data Manipulation Language): 针对数据库表里的数据进行操作, 关键字insert, delete, update等
    • DQL(Data Query Language): 关键字select等

7. 为mariadb设置密码

  1. 给管理员root设置密码:mysqladmin password oldboy123
  2. 设置完root密码之后登录:mysql -uroot -p
  3. 修改密码:mysqladmin -uroot -p原密码 password 新密码

8. MySQL root密码怎么找回

  1. 停止数据库进程
    1. pkill mysqld(杀死mysql进程,进程名字就叫mysqld)
    2. ps -ef|grep mysql(查看一下mysql的进程是否都被停止了)
  2. 忽略授权表(–skip-grant-table)、忽略网络启动(–skip-network)
    1. /usr/bin/mysqld_safe --skip-grant-table --skip-network &
    2. ps -ef|grep mysql
  3. 登录并修改密码
    [root@web01 ~] mysql
    MariaDB> UPDATE mysql.user SET password=PASSWORD("oldboy123") WHERE user='root' and host='localhost';
    MariaDB> flush privileges; ##刷新到磁盘生效
    MariaDB> quit
    
  4. 重启mysql
    1. 杀死mysql服务:pkill mysqld
    2. 检查进程:ps -ef|grep mysql
    3. 启动:systemctl start mariadb
    4. 检查端口:ss -lntup|grep 3306
  5. 登录测试:mysql -uroot -poldboy123

猜你喜欢

转载自blog.csdn.net/m0_73293867/article/details/131927377