自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 收藏
  • 关注

原创 使用python操作mysql数据库

1、插入数据时,默认开启了一个事务,要commit才可以写入。创建一个表,添加数据,查询数据。输出mysql版本名称为成功。2、获取到的数据的元组类型。

2023-03-23 16:23:34 237 1

原创 正则表达式与grep

扩展正则必须用grep -E才能生效。

2023-02-18 21:11:56 845

原创 Linux中sed的使用

sed的内置命令字符用于对文件进行不同的操作功能,如对文件增删查改。

2023-02-18 21:11:48 669

原创 Linux搭建邮件服务器postfix+dovecot

在使用邮件服务器前需要把dns配置好。。1、添加正向解析vim /var/named/你的正向解析文件2、添加反向解析vim /var/named/你的反向解析文件3、重启dns4、确保本机dns为本机ip5、用nslookup测试如图解析出来就说明成功。

2023-02-06 14:20:35 2303

原创 在linux上搭建DHCP和DNS

先上拓扑图:本实验在VMware Workstation 16上完成。目的:实现在linux上安装dhcp和dns服务。

2022-11-06 19:14:53 1726

原创 Python发送邮件

想实现发送邮件需要经过以下几步:1、登录邮件服务器2、构造符合邮件协议规则要求的邮件内容3、发送Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件,它对smtp协议进行了简单的封装。这里我们用qq邮箱为例,并且自己是可以给自己发邮件的。在开始前我们先做准备工作:登录qq邮箱,后点击“设置”点击“账户”确保前两项已开启,然后点击生成授权码。因为我们网页登录时的密码是不可以用来python上使用;

2022-10-29 21:04:32 2401 3

原创 在Linux上安装ftp服务器

端口是21(有的人线下装Linux服务器系统时候会安装一个ftp服务器:pure-ftpd,而且默认是开机自启,而且端口也是21端口)Linux查询某个端口是否被占用:netstat -anp | grep 端口号。通过pid查看对应端口使用者:netstat -antup | grep pid。启动之前可以查询是否有ftp服务在跑着,或者查看21端口是否有程序占用。在window中,win+r,输入cmd,再输入:ftp 服务器IP。传输文件(put),查看文件(ls),下载文件(get)

2022-10-29 15:40:09 1801

原创 libaio.so.1()(64bit) is needed by mysql-community-server-8.0.18-1.el7.x86_64 解决办法

【代码】libaio.so.1()(64bit) is needed by mysql-community-server-8.0.18-1.el7.x86_64 解决办法。

2022-10-14 22:49:20 870

原创 Shell数学运算与双小括号

shell的一些基础命令,只支持整数的运算,小数的计算需要如bc这样的命令才支持特殊符号运算。

2022-09-23 21:27:11 458

原创 Shell的内置命令、外置命令

内置命令和shell是为一体的,是shell的一部分,不需要单独读取某个文件,系统启动后,就执行在内存中了。外置命令,也称为,自己单独下载的文件系统命令,处于bash shell之外的程序。可以通过compgen -b命令,查看所有内置命令。外置命令的特点是:一定会开启子进程执行。内置命令不会产生子进程去执行。

2022-09-22 10:47:39 677

原创 shell的扩展变量的使用

如果parameter变量值为空,返回word字符串,赋值给result变量如果para变量为空,则word替代变量值,且返回其值如果para变量为空,word当作stderr输出,否则输出变量值用于设置变量为空导致错误时,返回的错误信息word}如果para变量为空,什么都不做,否则word返回。

2022-09-22 00:52:52 114

原创 shell中字符串的使用

shell编程,尽量使用linux内置的命令,内置的操作,和内置的函数,效率最高C语言开发,效率最高,尽可能的减少管道符的操作。不创建子进程,执行后续命令,且执行完毕后,自动exit。

2022-09-11 16:52:46 1030

原创 Shell中的特殊变量

shell的特殊变量,用在如脚本,函数传递参数使用,有如下特殊的,位置参数变量。

2022-09-10 13:55:58 362

原创 Pthon中的文件处理

OS模块是Python内置的与操作系统功能和文件系统相关的模块,该模块中的语句的执行通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不一样。with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的。OS模块与OS.path模块用于对目录或文件进行操作。Python的解释器使用的是Unicode(内存).py文件在磁盘上使用UTF-8存储(外存)

2022-09-05 19:30:03 142

原创 Python中的模块

创建模块‘新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同导入模块import 模块名称 [ as 别名 ] #导入整个模块 from 模块名称 import 函数 / 变量 / 类 #导入模块的部分内容。

2022-09-03 15:33:31 228

原创 Python面向对象三大特征

动态语言的多态崇尚“鸭子类型” 当看到一只鸟走起来像鸭子、游泳起来像鸭子、收起来也像鸭子,那么这只鸟就可以被成为鸭子。不需要关心对象是什么类型,到底是不是鸭子,只关心对象的行为。简单地说,多肽就是“具有多种形态”,它指的是:即便不知道一个变量所引用的对象到底是什么类型,乃然可以通过这个变量调用方法,在运行过程中根据变量所引用对象的类型,动态决定调用哪个对象中的方法。如果一个类没有继承任何类,则默认继承object。定义子类时,必须在其构造函数中调用父类的构造函数。Python支持多继承。

2022-09-02 21:42:52 338

原创 Python中的类

Python是动态语言,在创建对象之后,可以动态地绑定属性和方法。

2022-08-27 09:53:55 133

原创 Python的异常处理

Python提供年异常处理机制,可以在异常出现时即使捕获,然后内部“消化”,让程序继续运行。例:计算除法。

2022-08-22 19:13:55 463

原创 Python中的函数

默认值参数函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参。def fum(a , b = 10) print(a , b) fun(100) # 只传一个参数,b采用默认值 fun(20 , 30) # 30将默认值10替换掉个数可变的位置参数定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数。使用*定义个数可变的位置形参。结果为一个元组个数可变的关键字形参。

2022-08-22 15:20:51 335

原创 Python中的字符串

仅保存一份相同且不可变字符串的方法,不同的指被存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。:将字符串转换为二进制数据(bytes):将bytes类型的数据转换成字符串类型。注意:转换后会产生一个新的字符串。注意:转换后会产生一个新的字符串。运行以上代码,发现id值一样。也可以理解为比较ASCII码。

2022-08-20 16:35:24 242

原创 Python中的集合

集合是Python提供的内置数据结构与列表、字典一样都属于可变类型的序列集合是没有value的字典只能存储不同的值。

2022-08-16 19:21:06 611

原创 Python中的元组

Python内置的数据结构之一,是一个不可变序列。

2022-08-15 18:14:09 174

原创 Python中的字典

Python内置的数据结构之一,与列表一样是一个可变序列。以键值对的方式存储数据,字典是一个无序的序列。字典的实现原理与查字典类似,查字典是先根据部首或拼音查找对于的页码,Python中的字典是根据key查找value所在的位置。...

2022-08-15 14:58:14 166

原创 python中的列表

切片结果是原列表片段的拷贝。step默认为1,可以简写为。元素的话,和C语言基本一样。

2022-08-13 15:12:04 304

原创 Linux上的数据备份

实体机无法做快照,如果系统出现异常或者数据损坏,后果严重,要重做系统,还会造成数据丢失。所以我们可以使用备份和恢复技术。linux的备份和恢复很简单,有两种方式:1、把需要的文件(或者分区)用tar打包就行,下次需要恢复的时候,再解压打开覆盖即可。2、使用dump和restore命令。...

2022-08-09 19:06:39 4245

原创 python中的for_in

例3:如果在循环体中不需要用到自定义变量,可将自定义变量写为下划线‘_’例2:range()产生一个整数序列,也是一个可迭代对象。例1:第一次取出的是P,将P赋值i,将i的值输出。

2022-08-08 19:37:16 9965 1

原创 python中pass语句和range()函数

range类型的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素。创建一个[start,stop)之间的整数序列,步长为step。in与not in判断整数序列中是否存在(不存在)指定的整数。语句什么都不做,只是一个占位符号,用在语法上需要语句的地方。创建一个[start,stop)之间的整数序列,步长为1。创建一个[0,stop)之间的整数序列,步长为1。...

2022-08-08 14:03:54 124

原创 python中的运算符

1、执行顺序:右->左2、支持链式赋值:a=b=c=203、支持参数赋值:+=、-=、*=、/=、//=、%=4、支持系列解包赋值:a,b,c=10,20,30。

2022-08-07 16:00:29 271

原创 Linux中的日志

2、日志对于安全来说也是很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。1、日志文件三重要的系统信息文件,其中记录了许多。3、可以这样理解日志是用来记录重大事件的工具。...

2022-08-05 13:56:13 791

原创 python中的变量的定义和使用

变量由三部分组成在赋与不同的数值时,变量名会指向新的空间。python是根据值来分配新空间的可以看出”张三“和“李四”不管赋值几次,值对应的地址是不变的。

2022-08-02 17:53:29 292

原创 Ubuntu软件操作的相关命令

sudoapt-getinstallpackage--reinstall重新安装包。sudoapt-cachedependspackage了解使用该包依赖那些包。sudoapt-getbuild-deppackage安装相关的的编译环境。sudoapt-getsourcepackage下载该包的源代码。sudoapt-getdist-upgrade升级系统。sudoapt-get-finstall修复安装。...

2022-07-31 13:27:54 155

原创 MySQL中的主从复制

主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制,从库同时可以作为其他从服务器的主库,实现链状复制。MySQL复制的点主要包含以下三个方面1、主库出现问题,可以快速切换到从库提供服务。2、实现读写分离,降低主库的访问压力。3、可以在从库中执行备份,以避免备份期间影响主库服务。主从复制原理。...

2022-07-18 16:43:18 120

原创 MySQL中的慢查询日志

慢查询日志记录了所有执行时间超过参数long_query_time设置值并且扫描记录数不小于min_examined_row_limit的所有的SQL语句的日志,默认未开启。long_query_time默认为10秒,最小为0,精度可以到微秒。默认情况下,不会记录管理语句,也不会记录不使用索引进行查找的查询。可以使用log_slow_admin_statements和更改此行为log_queries_not_using_indexes,如下所述。...

2022-07-17 18:09:16 309

原创 MySQL中的二进制日志

二进制日志(binlog)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(select、show)语句。作用1、灾难时的数据恢复;2、MySQL的主从复制。也可以在mysql的配置文件中配置二进制日志的过期时间,设置了之后,二进制日志过期会自动删除。...

2022-07-17 17:12:14 543

原创 MySQL管理

MySQL数据库安装完成后,自带了一下四个数据库,具体作用如下:该mysql不是指mysql服务,而是指mysql的客户端工具。语法:选项:-u, 指定用户名-p, 指定密码-h, 指定服务器IP或域名-P, 指定连接端口-e, 执行SQL语句并退出-e选项可以在MySQL客户端执行sql语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本,这种方式尤其方便。实例:mysqladmin是一个执行管理操作的客户端操作的客户端程序。可以用它来检查服务器的配置和当前状态

2022-07-09 20:29:50 146

原创 MySQL中的InnoDB引擎

MySQL5.5版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。Doublewrite Buffer Files:双写缓冲区,innoDB引擎将数据页从Buffer Pool 刷新到磁盘前,先将数据页写入双写缓冲区文件中,便于系统异常时恢复数据。Redo Log:重做日志,是用来实现事务的持久性。该日志文件由两部分组成:重做日志缓冲区(redo log buffer)以及重做日志文件(red

2022-06-29 23:01:30 1106

原创 编写一个shell脚本,求一个数的”逆序数“

在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的实际先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。如2431中,21,43,41,31是逆序,逆序数是4。...

2022-06-23 15:14:50 1421

原创 Mysql中的锁

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。其典型的使用场景是做全库的逻辑备份,对所有的表进行锁

2022-06-20 01:11:46 861

原创 MySQL中触发器

触发器是与表有关的数据库对象,指在 insert/update/delete之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。使用别名OLD和NEW来引用触发器中变化的记录内容,这与其它的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发,查看删除案例:通过触发器记录 student 表的数据变更日志,将变更日志插入到日志表stu_log中,包含增加,修改,删除;创建日志表:创建insert

2022-06-05 22:25:37 63

原创 Linux定时备份数据

需求1、每天凌晨2:30备份 数据库 lianxi 到/data/backup/db/。2、备份开始和备份结束能够给出相应的提示信息。3、备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:2022-05-31_230201.tar.gz4、在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除。#!/bin/bash#备份目录BACKUP=/data/backup/dbDATETIME=$(date +%Y-%m-%d_%H-%M-%S)echo $DAT

2022-06-01 08:47:03 2185 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除