【Linux篇<Day20>】——一文入门 数据库 和 容器技术


在这里插入图片描述

一份微语报,众览天下事!
【今日要闻】
湖南强降雨,10人死亡3人失联
【今日微语】
安慰一个哭泣的人
最好的方式不是说:不要哭
而是说:如果我是你,我也会哭

让我们进入今天的学习吧!
💪Keep  trying💪

在这里插入图片描述

在这里插入图片描述

🌈💨一、数据库服务基础

🍉1.1 概述

DB,数据库:存放数据的仓库,在数据库系统中,有很多数据库,在每一个数据库中有很多表格。

🍉1.2 常见的关系型数据库

  • 微软的 SOL Server
  • IBM 的 DB2
  • 甲骨文的 Oracle、MySQL
  • 社区开源版 MariaDB

🍉1.3 部署MariaDB数据库服务器

  • 需要软件包:mariadb-server
  • 起服务

🍉1.4 MariaDB的基本使用

🍒1.4.1 在Linux系统命令行下执行的操作

  注意:数据库也有一个权力最大者,叫做数据库管理员,名字也是root,能够登录数据系统,用户信息由由MySQL库中的user表进行存储

  • 给root设置密码
    mysqladmin -u root password ‘密码’
    在这里插入图片描述

  • 登录数据库
    mysql -u root -p[密码]
    在这里插入图片描述

  • 修改密码
    mysqladmin -u root -p原密码 password ‘新密码’
    在这里插入图片描述

  • 增加数据库
    create database 库名;

  • 删除数据库
    delete database 库名;

  • 将数据导入到数据库中
    mysql -u 用户名 -p密码 test < 要导入的文件
    在这里插入图片描述

🍒1.4.2 在数据库系统里面的操作

  • 查看所有数据库:show databases;
    在这里插入图片描述

  • 切换数据库:use 库名;
    在这里插入图片描述

  • 退出数据库:exit;
    在这里插入图片描述

  • 显示当前库里的表格:show tables;
    在这里插入图片描述

🍒1.4.3 表格的增删改查

  • 查(select)
    select 字段 from 表名 where 条件;
    在使用本表时可以直接用表名
    在这里插入图片描述*号代表所有的表字段。
    当我们只想看ID为3的行时,就可以加入条件
    在这里插入图片描述
    select 字段 from 库名.表名;
    当在本库·想要查看其它库的表时,可以用库名.表名的方式

  • 增(insert)
    insert 表名 values('值','值','值'...);
    在这里插入图片描述

  • 改(update)
    update 表名 set 表字段='新值' where 表字段='值';
    在这里插入图片描述

  • 删(delete)
    delete from 表名 where 条件;
    在这里插入图片描述

🌈💨二、容器基础

🍉2.1 容器的作用

  Linux中的容器是用来装应用的,容器就是将软件打包成标准单元,用于开发、交付和部署,容器技术已经成为应用程序封装和交付的的核心技术。

🍉2.2 容器的优缺点

  • 优点
    相较于传统的虚拟化技术,容器更加简洁高效;
    传统的虚拟机需要给每一个VM安装操作系统;
    容器使用的是共享公共库和程序;
  • 缺点
    容器的隔离性没有虚拟化强;
    共用Linux内核,安全性有先天缺陷;

🍉2.3 部署环境

  • 我们需要的安装的是一套容器组件
    在这里插入图片描述podman是完整的一套容器管理系统,其提供了一组命令,让用户更加方便直接的使用容器技术,而不需要更多的关系容器底层的技术。我们将防火墙关闭,selinux设置为宽松模式。

🍉2.4 镜像

  镜像是启动容器的核心,在podman中容器就是基于镜像启动的,镜像就相当于模板,镜像可以从官方镜像仓库下载,也可以自己制作。
导入本地镜像:podman load -i 备份文件.tar.gz
在这里插入图片描述

查看镜像:podman images
在这里插入图片描述

删除镜像:podman rmi 镜像名称:镜像标签
在这里插入图片描述

🍉2.5 容器管理命令

  • podman run命令
    创建、启动、进入容器
    格式:podman run 选项 镜像名称:镜像标签 解释器
    常用选项:
    -i:交互式
    -t:终端
    -d:后台运行
    --name:指定容器名称
    在这里插入图片描述

  • 启动容器
    podman run 选项 镜像名称:镜像标签 解释器

  • 查看容器
    podman ps -a:显示所有信息
    在这里插入图片描述
    podman ps -qa:只显示容器ID
    在这里插入图片描述

  • 开启容器
    podman start 容器ID
    在这里插入图片描述

  • 进入容器
    podman exec -it 容器ID或名字 解释器
    在这里插入图片描述

  • 关闭容器
    podman stop 容器ID或名字
    在这里插入图片描述

  • 删除容器
    podman rm -f 容器ID或名字

🍉2.6 容器对外发布

  • 容器创建后是可以直接和真机进行通信的,因为podman会自动在真机上创建一张虚拟网卡,但是其他的客户机想要访问容器的web服务,则需要借助一些选选项才可以。
    在这里插入图片描述

  • podman run 命令选项补充
    -p:可以将宿主端口和容器端口进行绑定
    格式:-p [可选ip]:宿主机端口:容器端口
    通过-p选项,我们可以实现外部的主机能够和我们的容器通信,我们访问真机的端口就相当于访问了绑定的容器的端口。但是还有一个问题,就是如果我们网站的内容需要改变的话,我们还得每次都进入到容器里面去修改内容,所以如果我们能够将真机的数据传输到容器进行显示的话,那就方便多了。这里我们使用-v选项
    -v:启动容器时,可以使用-v映射参数,将真机的文件映射到容器里面
    格式:-v 宿主机对象:容器内对象
    注意:一旦两个对象被绑定,只要改变其一,另外一个都会跟着改变。
    所以在我们真正的生产环境中容器都是这么用的:
    在这里插入图片描述这句代码的意思是:创建一个名字叫做testweb的容器,让他在后台自己运行,将本机的 /opt 映射到 容器的/var/www/html 下,将真机和容器的80端口进行绑定企业中都是这么用的。

🍉2.7 systemd 管理容器

  细心的朋友应该可以发现,我们的容器启动和停止都是用的专属的命令,并不能像我们之前的一些系统程序一样,通过systemd进行管理,但是,我们有办法,把容器交给systemd进行管理。
我们先来了解一下systemd的管理思路,用户通过systemctl命令操作进程,systemctl回去找上帝进行systemd,而systemd回去找服务配置文件然后启动对于的服务。那么我们就必须得保证在服务配置文件里面有容器的配置文件。所以我们先来生成一下服务配置文件
我们先cd进入到服务配置文件的目录下:/usr/lib/systemd/system/
格式:podman generate systemd --name 容器名 --files
在这里插入图片描述

然后重新加载配置文件
格式:systemctl daemon-reload
在这里插入图片描述

完成以上操作后,便可以通过 systemctl start container-容器名
在这里插入图片描述


         👆回到顶部👆

在这里插入图片描述

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
XML解析器来解析XML文件,使用C语言自带的字符串解析函数,比如strtok等。首先,需要打开XML文件并逐行读取,将每一行保存为一个字符串。然后,使用字符串解析函数解析每个标签和其对应的属性和值。可以使用栈结构来处理标签的嵌套关系,以便构建XML树形结构。最后,将XML树状结构打印出来。 具体的实现方法包括以下步骤: 1. 打开XML文件并逐行读取,将每一行保存为一个字符串。 2. 解析每个标签的开头和结尾,以及对应的属性和值。在解析属性和值时,需要考虑属性值可能带有单引号或双引号的情况,需要使用一些技巧来判断。 3. 使用栈来处理标签的嵌套关系,以便构建XML树形结构。具体来说,遇到一个标签的开头时,就将该标签入栈;当遇到一个标签的结尾时,就将栈顶元素弹出,表示该标签的嵌套关系已经结束。 4. 将构建好的XML树状结构打印出来,可以使用递归方式遍历XML树,输出每个标签及其对应的属性和值。 需要注意的一些问题包括: 1. 在解析属性和值时,需要考虑属性值可能包含单引号或双引号的情况。可以使用一个标记来判断当前属性值使用的是哪种引号。 2. 在使用栈处理XML的嵌套关系时,需要判断栈是否为空,以免发生栈溢出等错误。 3. 在输出XML树的时候,可以使用一些格式化的方式,让输出结果更易读。 最后,需要注意的是,手动解析XML文件是一项相对较为复杂的工作,需要考虑到很多细节和特殊情况。因此,如果可以使用开源的XML解析库,会更加方便和可靠。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿桥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值