- 博客(59)
- 收藏
- 关注
原创 MYSQL 高阶语句
把两个或者三个表的记录行结合起来,基于这些表之间共同的字段,进行数据的拼接,首先确定一个主表的结果集(主表的列),然后把其他表的行进行选择性的连接到主表的结果上。数据更新,更新表可以更新视图,更新视图也可以更新表,一般情况下,视图仅仅用于展示数据。存储方式,表都是实际数据,保存在硬盘,视图存储的不是数据行,而是结果的集合。左连接以左侧表为基础,接受左表所有的行,并用这些行,与右侧表一起参与,右连接以右侧表为基础,接受右表所有的行,并用这些行,与左侧表一起参与,根据where的条件,来对数据进行逻辑的区分。
2024-12-30 14:39:45 851 1
原创 MYSQL 用户管理、事务、备份和日志管理
可以通过索引直接找到该行数据对应的物理地址,直接访问数据,提高查询的速度,合理的设置索引可以提高数据库查询速度,也是必备的一项操作。按照顺序对sql语句进行记录,高并发的情况下,sql的记录有可能会出错,可能会导致数据的记录有偏差,虽然恢复的效率比较高。索引在所有的关系型数据库当中的都有,索引是一个排序的列表,在这个列表当中存储了索引的值和这个值对应数据所在的物理地址。savepoint在一个事务当中是一个临时的标记,在事务执行过程中的一个回滚点,多个回滚点,是按照顺序进行的,
2024-12-30 09:32:19 1017
原创 数据库 MYSQL的概念
3、一个关系型数据库可以有多个库,库里面保存的是表,表里面有数据,但是每个库是独立的,数据库当中,多张表存储在库中,通过表与表之间的字段进行关联。4、读写速度,char比varchar要快的多,char的存储方式是连续磁盘空间,varchar多次查询之后,会产生磁盘文件的碎片。1、主键约束:primary key ,用于标识表中的每一行,逐渐的字段的值必须是唯一的,且不能为空,且一个表只能有一个主键。2、数据时保存在表里面,关系型数据库的表与表之间是有关联的,数据之间也是有关联的。
2024-12-19 14:35:35 813
原创 keepalive
而且keepalive为后台的真实服务器做了一个健康检查,当服务不可用时,会自动的移除ipvs的转发策略,服务恢复时,会自动重新把策略加入到ipvs。1、主备切换,根据优先级实现,当主故障时,可以自动切换到备,主恢复之后,如果主的优先级比备高,还是会自动的切换到主。4、通过配置vip来实现集群的入口,vrrp是一个冗余协议,主在工作时,备完全不参与集群的工作,只是监听主的状态。1、防火墙屏蔽了主备之间的224.0.0.18的报文,导致互相都收不到,就认为对方都已经挂起了,都认为自己是主。
2024-12-18 17:29:32 422
原创 lvs介绍与应用
LVS(Linux Virtual Server)是一种基于Linux操作系统的虚拟服务器技术,主要用于实现负载均衡和高可用性。它通过将客户端请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。lvs是基于集群的方式实现。
2024-12-18 17:23:40 1229
原创 nginx正向代理与反向代理
客户端设备要访问局域网以外的 Internet 时,需在客户端浏览器中配置代理服务器,然后通过代理服 务器来进行访问,将访问到的局域网以外的 Internet 网站内容返回给客户端,而不是通过局域网中的。四层代理是基于tcp/ip协议层的代理转发方式,只是基于ip+端口号的形式实现代理。:当访问后端服务器,根据客户端的ip地址,使用hash算法计算出ip地址的hash值,然后再把请求发送到相应的后端服务器。处理http的请求和响应,当收到http请求之后,根据代理的方式,把http请求转发到指定的服务器。
2024-12-12 16:20:39 599
原创 nginx页面优化 附:配置防盗链
确保连接时被可靠的关闭:即便是四次挥手之后,对方有可能还有数据未处理完毕,在timewait阶段可以保证数据依然被正确的处理,防止旧的数据包影响其他新的连接。连接保持的时间不宜太长,一般在60-180秒,kekpalive的连接保持时间太长,会占用过多的系统资源,影响性能。避免出现连接复用的问题:如果timewait不存在,或者时间较短,旧的连接可能依然处于网络之中,有可能被认为新的连接。timewait状态下,tcp连接处于等待接待,等待一个持续的时间,确保双方的数据尽可能的传输完毕。
2024-12-10 16:13:13 824 1
原创 lnmp+discuz论坛 附实验:搭建discuz论坛
p: php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库,通过php把动态请求转发到数据库。php-fpm:是一个fastcg的管理工具,nginx的动态请求实际上是由php-fpm来处理。cd到/usr/local/php/etc 打开此配置文件修改。回到nginx文件,先做好备份如图所示,打开nginx.conf。此代码分别为mysql的客户端和服务端,复制此代码到编辑文件中。设置初始化密码,确认密码的时候不要输入,直接回车,如图所示。set nu 找到下列两行,按图所示修改,
2024-12-09 19:09:08 1032
原创 web基础和http协议 附:nginx服务的安装
DNS和域名DNS解析的方式:1、运营商2、/etc/hosts 人工配置的域名和ip地址之间的映射关系3、/etc/resolv.conf dns服务器的ip地址 bind,内网解析域名和ip地址之间的关系。
2024-12-05 16:10:51 997
原创 iptables 防火墙 附实验:三台虚拟机模拟内网连接外网
cap tcpdump只是抓取数据包的内容,但是linux系统不能查看抓包的数据包,所以用.cap为结尾是为了给抓包工具分析。入侵检测系统: 在互联网访问的过程中,不阻断任何网络访问,也不会定位网络的威胁。提供警告和事后的监督,类似于监控。对进出网络或者主机的数据包基于一定的规则进行检查,匹配规则的则放行,不匹配的就会隔离在主机之外。filter表:用来过滤数据包的,可以控制数据包的进出,以及接受或者拒绝数据包。OUTPUT:处理本机发出的或者是其他请求响应的数据包的规则,一般不做限制。
2024-12-03 15:16:46 755
原创 文本三剑客——awk
awk按行取列的默认分隔符:空格或者tab键,连续多个空格,自动压缩成一个。awk 选项 ‘模式或者条件 (操作)’ 文件名1 文件名2。awk 系统自带的,功能强大的编辑工具,按行取列。可以在无交互的情况下,对文件内容进行操作。$n:按行指定分隔符后,取第几。NF:当前处理行的字段个数。$0:打印所有的意思。FS:列分隔符,-F。
2024-12-01 21:44:54 188
原创 文本内容处理命令和正则表达式
cut d ":" -f 1-3 --output-delimiter=" " /etc/passwd # 将“:”分隔符替换为“空格”cat log|cut -d" " -f1|sort|uniq -c|sort -nr |head 查看访问日志,找出访问前10名的用户。例:cut -d ":" -f 1-3 /etc/passwd # 1-3表示1到3。split [-b ][-C ][-l ][要切割的文件][输出文件名前缀][-a ]
2024-12-01 21:17:08 1019
原创 文本三剑客—— sed
模式空间:临时储存,修改的结果临时保存的地方,不写入磁盘,文件的内容不会发生变化,展示完即删除。sed一次处理一行内容,处理完一行之后紧接着处理下一行,一直到文件的末尾。e 指定命令处理的文本文件,多个执行操作需要加上-e。r:读取文件,将其内容增加到目标文件的目标行下一行。a:新增,在指定行的下面插入一条新的内容。i:新增,在指定行的上面插入一条新的内容。-n 显示script处理之后的结果。写入:把修改写入到磁盘当中。-i 修改目标文件(慎用)s:替换,替换指定的字符串。c:整行替换为指定的内容。
2024-12-01 21:03:30 174
原创 函数的运用
例题:编写两个脚本:第一个脚本中包含加法(+)、减法(-)、乘法(*)、除法(/)的函数方法。return的意义:return在函数内部做控制的流程,把状态码和结果反馈给调用者,告诉调用者函数的执行情况,根据返回码也可以继续下一步的流程所做的操作。加了local之后,外部的传参会替代内部的参数,最后函数的结果,是外部的结果会被修改。3、模块化的工作方式,将大工程分解成若干的小的功能模块,可以提高代码的可读性。在函数内部,没有加local ,外部的传参不能够改变函数内部的值。1、函数一结束,就取返回值。
2024-11-26 15:36:59 240
原创 if 和 case 语句
[ ]]:双中括号的功能更强大,适用于复杂的表达式,可以避免歧义。的返回码来判断条件为真还是为假( true 或 false )先设定一个条件,判断条件是否满足,执行一段特定的代码。或(-o、||):只要表达式中有一个条件成立即可。且(-a、&&):表达式中的所有条件都必须成立。[ ] 和 [[ ]] 是bash自带的。[ ]:功能比较适用于简单的条件判断。1.1.2 [ ] 和 [[ ]]不满足,执行不满足的代码。
2024-11-26 15:15:26 225
原创 shell脚本基础和变量
1、不要使用系统的命令作为变量名称2、不要使用中文3、变量名不能使用特殊符号来开头,可以使用下划线开头_4、定义变量时,一定要是字母开头,不能以数字开头5、变量名最好是名称对应的英文全称或者简写read -p "提示信息" a#read: 根据用户输入直接赋值给变量#-p "":固定格式#a:变量名echo $a强引用和弱引用(一般用于echo):" ":弱引用,打印变量时,加上双引号就是变量的值’ ':强引用,打印变量时,就是字符串的本身,不再代表变量对应的值。
2024-11-26 15:06:27 945
原创 shell编程规范和脚本变量
人和计算机内核之间的中介:计算机的语言是二进制,把人类的语言翻译成计算机能够识别的语言,然后让内核来处理内核完成之后要把结果反馈给用户,要把计算机的翻译成人类能够识别的语言命令解释器,pycharm idel vscode1、不要使用系统的命令作为变量名称2、不要使用中文3、变量名不能使用特殊符号来开头4、定义变量时,一定要是字母开头,不能以数字开头。5、变量名最好是对应的名称的英文全称或者简写。
2024-11-18 16:10:33 762
原创 pxe自动装机
cp initrd.img /var/lib/tftpboot/ #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下。cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制 PXE引导程序 到TFTP根目录下。#指定要下载的 PXE 引导程序的文件。cp -rf /mnt/* /var/ftp/centos7/ #将镜像文件强制复制到centos7目录中,可加&让它自己后台运行。
2024-11-18 09:08:03 933
原创 安装仓库、ssh连接与nfs共享文件 附实验:两台虚拟机实现nfs共享
apt的仓库安装源------------》在线离线------------》包含可用的deb包。元信息------------》包与包之间的依赖关系在线源:必须要联网,包是需要远程下载的。1、找到安装包2、找到安装包的依赖条件3、下载安装包和依赖条件4、安装离线包:1、光盘镜像自带2、本地目录集成好了安装包3、找到安装包和依赖关系4、安装trusted=yes # 信任源file://' 对象的路径是一个本地目录如果是镜像:需要设备和本地目录做挂载。
2024-11-15 09:16:27 1060
原创 DNS解析 附实验:DNS正反向解析
named.conf.default-zones: 本地区域文件的详细配置,自定义配置都在这里完成。named.conf.options: bind的主要配置和选项参数都记录在这个文件。dns: 域名系统,域名和ip地址互相映射的一个分布式的数据库。named.conf.local: 默认本地的区域文件配置(对应的解析服务的配置)dns解析: 根据域名在互联网当中找到对应的ip地址。dns解析的端口:53端口 TCP的53 UDP的53。IN A: xy104.com.对应的ip地址(正向解析)
2024-11-13 16:58:43 628
原创 DHCP和FTP
dhcp:动态主机配置协议,应用在大型的局域网环境中客户端和服务器服务器 提供ip地址 某种特定功能的提供者客户端 请求IP地址 请求对应的功能的使用者dhcp:集中地址管理(地址池,可用ip地址的范围),自动分配客户端的ip地址,gateway(网关),dns服务信息等等客户端的端口:68服务端的端口:67dhcp的优点:1、降低配置和部署设备的时间2、降低了配置发生错误的可能3、集中化管理ip地址的分配4、提高了ip的利用率★DHCP的工作原理:服务端和客户端。
2024-11-13 09:17:50 504
原创 Linux系统的网络设置
mode=6 adaptive load balancing 适配器负载均衡 balance-tid 模式,针对流量实现负载均衡,不需要交换机。ifconfig -a #显示当前主机的所有网络设备(包括未运行的设备)isof -u root #指定的用户打开的网络进程和文件。★/etc/hosts: #本地的域名和ip地址的映射。-p:显示网络连接信息的进程号、进程名的相关信息。-n:数字化的形式显示主机地址和端口的信息。-i:发送包的间隔时间 也是ping的间隔。
2024-11-11 17:11:18 340
原创 Linux 实验:日志的备份与恢复 xfs文件系统
mkdir创建空目录data,将sdc1挂载到data,data是根目录下新建的目录,后面要把ssh.log文件放入data里,所以要提前挂载,否则会失败。显示sucess则为备份成功,如果失败,可能是没有挂载,接下来试着删除ssh.log文件,再输入下行命令从backup里把备份还原到data里。设置文件系统格式xfs,提示安装xfsprogs,如果安装失败,在后缀加上--fix-missing直到安装完成为止。输入如下命令,将sdc1里的文件,也就是ssh.log备份到backup里。
2024-11-08 14:55:24 298
原创 文件系统和日志管理 附实验:远程访问第一台虚拟机日志
var/log/syslog:记录了Linux系统的内核消息以及各种应用的公共日志信息(系统控制产生的消息),包括启动,IO错误,网络错误,程序的故障等等。只要修改了应用的配置文件,一定要重启才生效,分别重启rsyslog和sshd,重启后cd到/var/log发现有ssh.log文件,如果没有可以看下一步。所有的程序的一般及一般以上和邮件的日志不记录和nginx只记录error的日志 保存到/var/log/syslog。服务自己的日志:记录的就是使用这个程序过程中产生的信息,不会记录到系统的日志中。
2024-11-07 17:12:22 663
原创 系统安全及应用
当计算机当中有一个以上的操作系统,就会有这个grub菜单,多个操作系统,用户可以自行选择需要的系统。硬盘掌握系统控制权之后,根据分区表来找操作系统的引导文件,mbr的硬盘第一个扇区的主引导记录。总结:内核和镜像文件系统加载到内存,也就是把系统初始化需要的程序的和资源放入内存当中。进程初始化:系统加载到内核的程序和资源并行处理,大大提高了系统的开机时间。总结:根据硬盘的分区表,找到操作系统的文件。控制权-------------->、linux的内核。控制权-------------->grub引导程序。
2024-11-06 21:16:18 288
原创 进程和计划任务管理
先启动父进程:系统分配给父进程必要的资源(启动和运行)------------>子启程(父进程)---------------->父进程来分配子进程的资源。pid:进程的pid号,进程号,每个程度的进程都是唯一的,不重复,也是进程在系统中的唯一身份标识。结束:子进程先结束------------>父进程收回子进程的资源之后,父进程才会终止。线程:程序的副本,把进程复制了一部分,复制了进程的部分代码,需要运行的代码由线程来完成。1、ps -aux 定位找到这个进程 ------->pid号。
2024-11-05 15:12:19 545
原创 raid磁盘阵列
★raid磁盘阵列:不同分区组成的逻辑硬盘,可以实现高可用,即阵列当中有一个分区或者分区的磁盘损坏,不影响整个阵列的使用,满足企业级的读写性能的要求。
2024-11-05 08:49:07 414
原创 逻辑磁盘管理 附实验:逻辑卷的组成与划分
lvextend -L +5G /dev/cxk/dalanqiu使用lvextend命令扩容,使用df -hT命令查看,发现磁盘大小并没有改变,因为还需要刷新命令。fdisk /dev/sdb 进行分区,n新建分区,p创建分区,两次回车,第一个分区跳过,第二行输入+5G,创建完成后,w保存退出。不同硬盘的不同分区或者同一个硬盘的不同分区,组成一个逻辑上的硬盘,逻辑卷组(硬盘),通过对逻辑卷组的划分,形成一个个的逻辑卷。选择一个根目录下面的空目录,这里还是选择data1,ll看一下是不是空目录。
2024-11-01 16:40:27 931
原创 磁盘管理 附实验:磁盘分区
1、分区一旦建立,不能修改,只能推到重来,数据格式化,数据丢失。硬盘的概念:是一种计算机的存储设备,通常由一个或者多个磁性盘片组成,既可以安装在计算机的内部,也可以外接计算机,保存数据。写:当你对数据内容进行修改时,未保存的数据在内存中,只有用户保存之后,数据才会被写入到硬盘。3、数据的访问:文件系统提供了访问硬盘的接口,通过这些接口访问硬盘的数据。scsi 系统的接口,个人电脑服务的接口,传输速度比较快,支持热插拔。sat:抗干扰能力更强,支持热插拔,速度更快,sat是主流的接口。方便用户的使用和操作。
2024-10-31 17:29:12 903
原创 账号的权限管理 附实验:登录时显示欢迎界面
切换用户:su - 用户名su 用户名su 刷新功能仅限于root用户。修改主机名:hostnamectl set-hostname xy104 #永久修改主机名 配置su刷新立即生效,无需重启系统vim /etc/hostname 修改配置文件,必须要重启hostname 主机名 临时修改,重启失效uid linux系统根基uid号来确定账号的身份信息超级管理员:拥有最高缺陷,超级管理员在系统中时唯一的普通用户:是权限受限制的用户,但是在自己的家目录当中拥有完整的权限。
2024-10-30 20:42:02 527
原创 apt的编译安装(古老通讯)
然后拖入准备好的nginx-1.22安装包到opt目录下,tar -xf解压,完成后ls打开,找到绿色字体的configure文件,编辑configure文件。保存完成后输入nginx -t 检验是否联通,出现下图中ok和successful即为成功。如果出现直接拖入安装包无法传输的问题,就先安装install lrzsz,方法如下。将箭头所指行改为与图中一致后,【shift】+【:】进入最底行,wq保存退出。-s:指定创建用户的登录shell,禁止该用户登录系统。-M:只创建用户,不创建家目录。
2024-10-29 19:06:31 503
原创 Ubuntu虚拟机的安装以及相关文件配置(保姆级攻略)
此时会进入到这个见面,按照下图所示输入,注意如果输错,修改比较困难,需要先esc后按dd删除,且不能在敲字中途修改,所以尽量慢点输命令,且格式也要和下图完全一致,addresses 处的网络IP地址要根据自己电脑实际情况来看,具体方法在下图。发现有进程没结束,输入kill -9 5193 强制结束进程,注意此处每个人的进程编号不一样,不一定是5193可能是其他数字,根据自身实际情况来输入。来到此界面后,先【shift】加【:】输入set nu 显示行数,找到第33行,改成如图所示,然后wq保存退出。
2024-10-28 22:19:46 2224
原创 Linux的目录结构 常用基础命令(2)
它允许用户将多个文件或目录打包成一个文件,或将已打包的文件解压缩到指定目录。head -n -数字 文件 显示(文件总行数-数字)行。正则表达式 [目标文件]head -n 数字 文件 不显示文件的最后多少行。head -n 数字 文件 不显示文件的最后多少行。head -n +数字 文件 显示文件的前多少行。整个树形目录结构中,使用独立的一个“/”表示。所有分区、目录、文件等的位置起点。以 . 开头的文件均为隐藏文件。【enter】键向下逐行滚动。文件名最长 255个字符。【space】向下翻一屏。
2024-10-24 17:08:01 486
原创 Linux基础知识和常用基础命令
/先建立test0文件夹,然后在test文件夹下,依次创建test1 test2和test3文件夹,之后在test1 test2 test3三个文件夹下,分别建立a1 a2 a3 文件夹。家目录的概念为用户提供了一个独立的工作空间,它是用户在文件系统中的主要工作区域,包含了用户的个人文件、配置文件和其他数据。du和ls的区别:ls -l显示文件真实大小,du显示的是文件在磁盘中的占用,即使文件大小不到4k时,du显示的文件磁盘占用依然是4k。:由shell直接执行,速度快,资源占用少,但功能相对有限。
2024-10-23 16:25:24 785
原创 Linux基础命令(入门)
内部命令:也称为Shell内建命令,是Shell程序的一部分,通常在Linux系统加载时就已经加载到内存中,因此执行效率较高。外部命令:也称为文件系统命令,是独立于Shell程序之外的程序,通常在需要时才从硬盘中加载到内存中,执行效率相对较低。
2024-10-22 22:06:21 904
原创 VRRP协议
利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
2024-10-18 15:53:22 519
原创 VLAN三层交换机(自用练习)
每一个 vlan都会虚拟出一个虚拟接口,然后在虚拟接口上配置ip地址。三层交换机不具备路由器特有的NAT vpn 等技术。查找下一跳地址对应的邻接关系的2层封装信息。三层交换 = 二层交换 + 三层转发。交换机查找FIB表,找到下一跳地址。主机A给B发送单播数据包。
2024-10-16 22:00:02 236
原创 Vlan虚拟局域网
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一网段,逻辑上将网络划分。提供了一定的安全性:默认情况下两个不同的VLAN不允许相互通信。access:一般用于连接计算机或者路由器的端口。trunk:一般用于交换机与交换机相关的端口。划分广播域,控制广播消息传递范围。实际项目:缩小排错的范围。p d v vlan标签。
2024-10-16 21:06:35 373
原创 Linux虚拟机安装(重制版)
点击【创建用户】,可以设置简单一点,点击两次【完成】可以强制确定用户名和密码。在安装过程中,设置root密码和创建用户,点击【ROOT】密码。内存选择【2GB】,处理器根据计算机实际情况来选,默认为2。选择【Linux】,版本选择【CentOS7 64 位】密码可以设置简单一点,点击两次【完成】可以强制确定密码。点击【软件选择】勾选【GNOME桌面】,【开发工具】使用root用户登录,密码之前设置过,点击【登录】选择磁盘大小,勾选【将虚拟磁盘拆分成多个文件】注意安装完成后不要用用户名登录,点击【未列出】
2024-10-15 16:35:52 229
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人