- 博客(45)
- 收藏
- 关注
原创 pymsql输出数据库数据到csv文件
# config.pyUSER = 'xx'PASSWORD = 'yy'HOSTS = ( ('testA', 'xx', 3306), ('testB', 'yy', 3306),)# main.pyimport pymysqlfrom config import USER, PASSWORD, HOSTSdef conn(): # 获取HOSTS里面的主机名和ip for name,ip,port in HOSTS: # 连接MyS
2020-09-27 11:27:27
216
原创 WAL 预写式日志
WAL 预写式日志write-ahead logging是关系型数据库系统中用于提供原子性和持久性的一系列技术。 --------先写日志,再写磁盘所有修改在提交之前都要先写入log文件中。log文件—redo和undo,如果机器掉电–重启使用WAL,使程序检查log文件–比较计划执行的操作和实际完成的操作–撤销或继续完成或保持原样WAL允许使用in-place方式更新数据库,主要优点是减少索引的和块列表的修改,ARIES是WAL常用的算法。另一种实现原子性的方式是shadow paging。
2020-09-27 11:21:55
388
转载 python3的open()函数
open()函数用于打开一个文件,并返回文件对象,在对文件的处理过程中都会用到这个函数,如果该文件无法被打开,会抛出OSError。在使用的过程中要保证关闭文件对象,即调用close()函数。语法格式: 我们可以查看帮助手册>>> help(open)Help on built-in function open in module i...
2019-08-14 14:06:17
353
原创 python3连接mysql数据库
首先要在我们的windows上面安装mysql,我装的是5.7的,其次呢我们的连接过程中会用到pymysql。什么是pymysql呢? pymysql相当于一个第三方驱动,是用于连接mysql服务器的一个库,python2里用的是mysqldb。pymysql安装 windows下安装python解释器的时候会默认安装pip(python...
2019-08-13 15:36:20
287
原创 vmstat和iostat的用法
vmstat - 内存,进程和分页等的简要信息。iostat - CPU统计信息,设备和分区的输入/输出统计信息。[root@localhost Desktop]# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buf...
2019-08-11 13:59:02
266
原创 基于redhat 7.2上LNMP的搭建
概念 LNMP指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。ngix代码完全用c语言写成。 Mysql是...
2019-07-31 16:08:28
402
原创 python3 内置函数
abs()返回数字的绝对值。>>> abs(-100)100>>> abs(100)100dict()创建一个字典。>>> dict() #构建空字典{}>>> dict(a='fengxinli',b='chenlijian') #传入关键字{'a': 'fengxinli', '...
2019-07-31 15:57:42
278
原创 Nginx搭建Discuz论坛
Discuz是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。今天我们就使用redhat7.2的镜像在Linux上使用LNMP环境搭建一个简单的Discuz论坛~ 前几篇我们有说到LNMP的环境搭建,现在呐~我们就i开始搭建一个Discuz论坛叭~ ...
2019-07-30 11:45:22
2087
原创 基于Redhat7.2的mysql搭建
这篇我们来装一下MySQL~ 友情链接:http://downloads.mysql.com/archives/mysql-5.7/mysql-5.7.14.tar.gz (我用的版本是5.6的啦,大同小异~)1、指定安装包的位置[root@localhost~]# mv mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz /us...
2019-07-30 11:34:57
365
原创 基于Redhat7.2的php搭建
Hypertext Preprocessor,超文本预处理器。是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。之后呢php搭建好之后会用到MySQLi扩展库,通过MySQLi构造方法实例化一个MySQL连接对象,相当于建立了一个连接,后续代码完全使用面向对象的方法,使用该对象的成员函数操作MySQL数据库。 该篇呢我们来看一下redhat7.2...
2019-07-29 13:15:15
1111
原创 基于Redhat7.2的nginx搭建
一、简介 nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的代码完全用c语言写成。关于nginx的原理可以看这篇文章:https://www.jianshu.com/p/6215e5d24553二、准备1、redhat7.2镜像2、安装编译工具和库文件: # yum -y install make ...
2019-07-27 16:36:58
597
原创 SELinux的原理及配置
Security-Enhanced Linux 安全增强型 Linux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。作用及权限管理机制SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源。1、自主访问控制(DAC) 主体是用户。在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是...
2019-05-06 22:38:17
779
原创 FTP的原理及配置
File Transfer Protocol 文件传输协议,是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式,它属于网络传输协议的应用层。文件传送和文件访问之间的区别在于:前者由FTP提供,后者由NFS等应用系统提供。运行机制 用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序,然后通过客户机程序向服务器程序发出命令,服...
2019-05-02 15:37:58
415
原创 iSCSI的原理及配置
iSCSI,即Internet Small Computer System Interface,Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术。也是一种在TCP/IP上进行数据块传输的标准。iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作。优点: 接...
2019-04-17 15:20:52
5152
1
原创 nmcli--NetworkManager command line tool 基于会话的网络管理
Redhat Linux 7和CentOS 7中默认的网络服务由NetworkManager提供,它是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接使其处于工作状态,同时也支持传统的ifcfg类型的配置文件。使用命令行工具nmcli来控制NetworkManager。 NetworkManager可以用于以下类型的连接:Ethernet、VLANS、Bri...
2019-03-31 18:00:41
272
原创 ORA-00845: MEMORY_TARGET not supported on this system的解决方法
博主刚才在启动数据库时遇到了一个问题SYS@qq> startup nomount;ORA-00845: MEMORY_TARGET not supported on this system 找到错误原因是MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小,我们来看一下解决步骤:[oracle@ocp dbs]$ df -hFiles...
2019-03-05 17:07:33
19517
4
原创 Oracle11g故障恢复之参数文件丢失
我们知道数据库启动到nomount状态需要参数文件,那么参数文件丢了该怎么办呢?博主来奉上解决方法~~创建文本文件,让数据库启动到nomount状态:1、环境变量[oracle@ocp dbs]$ pwd/u01/app/oracle/product/11.2.0/db_1/dbs [oracle@ocp dbs]$ vi initbibi.ora[oracle@ocp...
2019-03-05 16:44:08
728
原创 Oracle11g的三种备份方法
一、文件查看数据文件、控制文件、日志文件查看如下:select file#, status, enabled, name from V$datafile;--查看数据文件select * from v$controlfile;--控制文件select * from v$logfile;--日志文件二、三种备份方法1、导入/导出(import/export)1)支持类型:...
2019-03-05 15:31:55
26156
2
原创 awk 报告生成器
linux中文本处理三剑客:grep:文本过滤器,根据匹配模式,显示匹配到的行 egrep==grep -Esed:流编辑器awk:是个报告生成器,也是文本处理工具。从文本中抽取符合条件的数据并以特定的格式显示出来。linux中的awk,GNU-awk==gawk语法结构:awk [option] 'PATTERN{ACTION}' file1 file2...PATTER...
2018-12-13 22:42:06
289
原创 sed 数据流编辑器
sed的功能同awk类似,差别在于:sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。 只能操作ASCII码,逐行将内容读取到内存中,做处理,并将处理结果输出。这段内存空间被称为“模式空间”。不一定每一行都处理,根据一定的模式匹配某些行进行处理。默认不修改源文件,仅对模式空间数据进行处理,然后将模式空间的内容输出。常用选项选项-...
2018-12-03 22:09:12
189
原创 进程调度算法--c语言实现
下面我用c语言模拟实现了FCFS(先来先服务)、SJF(短作业优先)和RR(时间片轮转)的操作系统中的进程调度算法,还有实现结果哦~~ 关于这些算法的思想,大家可以去自己找一下,我呢就用结构体数组简单的实现了一下 话不多说来看看代码: #include<stdio.h>#include<stdlib.h>#include<io...
2018-12-03 20:15:22
18257
11
原创 shell流程控制
今天我们来介绍几个流程控制语句。if else语句1、if语句语法格式if conditionthen command1 command2 ...... commandnfi也可以写成:if condition;then command1 command2 ...... comman...
2018-11-09 12:10:44
639
原创 shell基本运算符
shell编程和其他编程语言一样,支持多种运算符,包括:关系运算符、算数运算符、布尔运算符、字符串运算符、文件测试运算符。我们依次来学习一下它们:算数运算符 在平常的编程语言里面,直接用加减乘除就可以运算,但在shell编程中,原生bash不支持简单的数学运算,我们需要借助其他的命令来实现。 比如我们用expr实现,可以在man手册里查看expr...
2018-11-06 21:32:09
274
原创 shell数组
shell中数据类型不多,比如说字符串、数字类型、数组。数组是比较重要的一种,其主要操作有求数组长度、元素长度、遍历其元素、元素切片、替换、删除等操作。 和C语言不同,shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小,且数组元素的下标由0开始。数组声明declare -a array_name #声明数组declare -a n...
2018-11-05 22:32:19
321
原创 shell传递参数
在编写脚本时,要注意参数的形式和传递方式,我们今天就一起来学习一下:shell的环境变量shell的环境变量分为可写的可读的和环境变量两大类:1、可写的环境变量 可以对它们赋值,大部分可写的shell环境变量都在登录过程中执行“/etc/profile”文件时进行初始化。改文件由系统管理员设置,用于为系统上的所有用户建立一个公共环境。 用户也可以通过修改自己...
2018-11-04 18:33:09
2610
原创 shell字符串
字符串是shell编程中最常用的数据类型,不同的符号引用时作用不同(单引号、双引号、反引号)。接下来我们依次来看一下:1、单引号单引号里的字符会原样输出,所以里面使用变量是无效的。单引号里面绝不能使用单独的一个单引号,可以成对出现拼接字符串。我们来看例子:[root@localhost ~]# MyName=huahua[root@localhost ~]# ...
2018-10-20 09:53:45
370
原创 shell变量
定义变量[root@localhost ~]# a=huahua定义变量时,注意等号的两边不能有空格。变量名也有一些要注意的地方,和大多数编程语言一样:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头;中间不能有空格,可以使用下划线;不能使用标点符号;不能使用bash里的关键字。使用变量注意:我们定义变量的时候不需要加“$”,但是在使用的时候必须要加上...
2018-10-13 11:32:14
92
原创 认识shell
shell Shell俗称壳(用来区别于核),是一个用c语言编写的程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,可以说是用户使用Linux的桥梁。它既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有...
2018-10-13 11:27:52
97
原创 C重点整理
数据类型整形的每一种都有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是有符号类型需要使用一个bit来表示数字的正负。另外,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。在c语言中,有很...
2018-10-10 16:23:11
179
原创 枚举
枚举 一一列举,枚举的说明与结构和联合相似,当定义改变成:enum Num{ x1, x2=0, x3=50, x4}x;则x1=0, x2=0, x3=50, x4=51注意:1. 枚举中每个成员(标识符)结束符是"," 不是";", 最后一个成员可省略","。2. 初始化时可以赋负数, 以后的标识符仍依次加1。3...
2018-10-10 16:17:02
226
原创 循环链表
循环列表单链表的尾巴的下一个结点为头结点时,该链表称为循环列表。下来我们结合图和代码来理解一下:创建循环链表:void init_LA(CircleLinkList *L){//尾插法 L->data=0; L->next=L; for(int i=1;i<=10;i++){ Node *n=malloc(sizeof(Node)); n-&g...
2018-09-19 16:38:42
105
原创 快慢指针
快慢指针定义:快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。应用:1、判断单链表是否为循环链表 2、在有序链表中寻找中间元素下面我们分别来看这两种情况:1、A指针走一步,B指针走两步,A=B时,该链表为循环链表初始化为:等走到A=B时,A和B都走了三步,但A经过三个结点,...
2018-09-18 22:05:18
181
原创 静态链表
静态链表用数组描述的链表为静态链表,也称游标实现法。这种存储结构,仍需要预先分配一个较大的空间,但在作为线性表的插入和删除操作时不需移动元素,仅需修改指针,故仍具有链式存储结构的主要优点。假设我们初始化完的链表为:初始化的结构体数组大小为10假设我们要在d后面插入e的话:那我们要在b后面插入x呢?我们已经看懂了插入,再来看一下删除操作,把c删掉:下面...
2018-09-12 17:12:36
253
原创 线性表-链式存储
由上节我们可以发现顺序存储中插入和删除的时间复杂度为O(n),存入和读取为O(1),所以它适合不经常插入和删除的场合。优点:可以快速地存取表中任意位置的元素缺点:插入和删除时需要移动大量的元素,容易造成存储空间的“碎片”线性表的链式存储结构不同于顺序存储时需要连续的存储空间,链式存储可以用任意的未被存储的存储单元存储线性表的数据元素。顺序存储时每个元素只需要存储一个位置,链式存储除...
2018-09-07 15:03:18
400
原创 线性表-顺序存储
线性表定义:由零个或多个数据元素组成的有限序列。关键点:首先它是一个序列,也就是说元素之间是有个先来后到的。若元素存在多个则第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继。线性表强调是有限的,事实上无论计算机发展到多强大,它所处理的元素都是有限的。用数学语言定义如下:若将线性表记为(a1,...,ai-1,ai,ai+1,...,an),则表...
2018-09-05 22:08:11
169
翻译 堆
堆是和队列差不多的一种数据结构,但它有优先级,我们今天来用静态二叉树表示(通过下标控制):#include#includeusing namespace std;templatestruct Less { booloperator()(const T& L, const T& R)//仿函数 {
2017-11-12 16:54:05
165
翻译 二叉树的基本定义和遍历
二叉树的基本定义和遍历#includeusing namespace std;template struct TreeNode { Tdata; TreeNode*left; TreeNode*right; TreeNode(constT &data=0) :data
2017-11-08 13:12:08
177
原创 C++迭代器
迭代器是什么呢?迭代器就是可以以一个对象表现出容器元素的位置,实践这个概念的对象就是所谓的迭代器(结点的指针)。迭代器是一个可遍历STL所有元素的对象。 (遍历是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。)迭代器对指针的一些基本操作如*、->、++、==、!=、=进行了重载,使其具有了遍历复杂数据结构的能力。Opreator *:返回当前位置上的元素值。如果该元素拥有成
2017-10-17 15:51:56
186
原创 智能指针
当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝;另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享。那么智能指针是什么呢?智能指针是存储指向动态分配(堆)对象指针的类。很多人都以为智能指针是一个指针,但其实它是一个模板,它可以自动释放所指向的对象。我们来看一下:1. Auto_ptrauto_ptr在
2017-09-26 19:47:43
151
原创 多态及虚函数
在面向对象方法中,所谓的多态性就是不同对象在收到相同消息时,产生不同的行为。在C++中,要做到“一个接口,多种方法”。 我们把在运行之前就完成的联编(是指一个计算机程序自身彼此关联的过程)称为静态联编;在运行时才完成的联编称为动态联编。静态联编支持的多态性称为编译时多态性,通过重载实现,而动态联编所支持的多态性称为运行时多态性,是通过虚函数来实现的。 在某基类中声明为virtual
2017-09-10 19:20:27
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人