自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 http协议分析

http 协议介绍http:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议, 主要用于 Web 服务。通过计算机处理文本信息,格式为 HTML(Hyper Text Mark Language) 超文本标记语言来实现。http 协议的版本http 0.9:仅于用户传输 html 文档http 1.0 1.引入了 MIME(Multipurpose Internet Mail Extesions)机制:多用途互联网邮件扩展,引 入这个技术之

2022-02-14 19:31:53 702 1

原创 常用的mime类型

常用的mime类型

2022-02-14 19:28:31 481

原创 http状态码

常用状态码说明

2022-02-14 19:27:27 994

原创 http请求方式

HTTP请求方法在HTTP 通信过程中,每个 HTTP 请求报文中都会包含一个 HTTP 请求方法,用于 告知客户端向服务器端请求执行某些具体的操作(常用的 HTTP 请求方式是 GET, POST, HEAD)

2022-02-14 19:26:41 1166

原创 脚本循环ping所有网段

#!/bin/bashfor i in {网段}do if ping -c (ping的次数) -w (检测时间) 192.168.179.$i &>/dev/null(放到黑洞文件)then echo "192.168.179.$i is up"(成功显示)else echo "192.168.179.$i is down"(不成功显示) fidone参数:-c count:指定ping检测次数;-w deadlin

2022-02-14 19:25:51 3238

原创 mongodb主从复制

地址规划关闭27017防火墙端口更改mongodb主配文件互相连接查看是否连接成功定义变量首先指定 id,id 就是副本集名称,members 里面是一组数组,数组中是各 MongoDB 实例的地址和监听端口打开admin库,使用 rs.initiate 方法,引用刚刚定义的变量 config,来初始化集群当副本集创建并初始化完成后,终端提示符会由">“变成"test:PRIMARY>”,tset 是副本集名称,PRIMARY 代表当前实例为 Primary 主节点

2022-02-14 19:23:58 792

转载 mongodb管道

管道的概念管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以 重复的。表达式:处理输入文档并输出。表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档。这里我们介绍一下聚合框架中常用的几个操作:$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文 档。$match:用于过滤数据,只输出符合条件的文档。

2022-01-13 09:38:33 725

原创 mongodb聚合

MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似 sql语句中的 count(*)。aggregate() 方法MongoDB中聚合的方法使用aggregate()。语法db.集合名.aggregate(条件)聚合表达式...

2022-01-13 09:37:59 219

原创 mongodb索引

索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选 取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对 网站的性能是非常致命的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进 行排序的一种结构createIndex() 方法MongoDB使用 createIndex() 方法来创建索引。注意在 3.0.0 版本前创建索引方法为

2022-01-13 09:37:30 79

原创 mongodb查询

MongoDB 查询文档使用 find() 方法。find() 方法以非结构化的方式来显示所有文档。db.集合.find(query, projection)query :可选,使用查询操作符指定查询条件projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可默认省略)。如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:db.集合名.find().pretty()pretty()格式化显示所有文档count()个

2022-01-13 09:36:18 8185

原创 mongodb增删改查

创建数据库use 数据库名查看当前在哪个库下查看当前所有库show dbs我们查看创建的库不存在是因为没有往创建的库中插入数据(库中必须有数据才能查到)db.库名.类型({数据})删除数据库切换到想删除的库下删除,但是删除完还是在删除数据库中但是里面数据没有了,只要退出数据库就查看不到此库db.dropDatabase()查看数据库下有什么集合show collections删除数据库中的某个集合db.集合名.drop()创建口集合Db.createCollect

2022-01-10 14:12:58 266

原创 mongodb安装

MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及 各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发 展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格 一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来 创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。Mo

2022-01-10 14:05:27 447

原创 redis数据库手工创建群集

安装创建节点目录将配置文件复制到节点目录下更改配置文件每一个节点都需要更改daemonize yesport 7000cluster-enabled yescluster-config-file nodes-7000.conf . //这个编号最好是等于你的端口号cluster-node-timeout 5000启动redis服务查看端口设置集群查看集群节点cluster nodes获取集群信息cluster info //cluter开始的时候是fail

2022-01-10 13:59:38 468

原创 redis数据库哨兵(理论)

Redis哨兵Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的。可喜的是Redis从2.8开始正式提供了Redis Sentinel (哨兵)架构来解决这个问题,本章会对Redis Sentinel进行详细分析。基本概念名词 逻辑结构 物理结构 主节点 Redis主服务 一个独立的Redis进程 从节点 Redis从服务 一个独立的Redis进程Redis数据节点 主节点和从节点

2022-01-10 13:56:17 245

原创 redis数据库主从复制

在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,后面的哨兵和集群都是在复制的基础上进行的。开启redisRedis-cli 路径关闭redisredis-cli shutdown建立配置参与复制的Redis实例划分为主节点(master)和从节点(slave)。默认情况下,Redis都是主节点。每个从节点只能有一个主节点,而主节点

2022-01-10 13:54:50 430

原创 redis数据库持久化(理论)

Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。理解掌握持久化机制对于Redis运维非常重要。首先我们学习RDB、AOF的配置和运行流程,以及控制持久化的相关命令,如bgsave和bgrewriteaof;其次对常见持久化问题进行分析定位和优化。最后结合Redis常见的单机多实例部署场景进行优化。RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。触发机制

2022-01-10 13:51:50 855

原创 redis数据库键管理与小功能

单个键管理针对单个键的命令,前面我们学过了type、del、object、exists、expire等,下面介绍剩下几个重要的。键的重命名Rename key newkeyRename 原键名 新键名随机返回一个键RandomkeyRandomkey(随机返回)dbsize查看多少个键Dbsize(查看多少键)键过期expireat时间戳按秒换算的时间戳Expireat 键名 设置过期时间ttl值:大于等于0的整数:键剩余的过期时间-1:健没有设置过期时间-2:

2022-01-10 13:49:16 176

原创 redis数据库登录报错

如果启动redis出现下面情况需要更改redis主配的守护进程daemonize yes更改完毕

2022-01-10 13:38:08 864

原创 redis数据库基础命令

keys *查看所有的键get key返回对应的值dbsize统计键的总和exists hello检查hello键是否存在,存在返回1,不存在返回0del hello删除hello键,不管什么数据类型都可以删除返回1=成功,0=没有两个一起删del键1键2,删除mylist键过期expire key seconds指定键过期时间,当超过过期时间后,会自动删除键tt1返回键的剩余时间-1:键没设置过期时间-2:键不存在键的数据结构类型hello字符串类型 string

2021-12-23 21:44:12 1008

原创 redis数据库安装

解压redis包tar zxf redis-6.2.6.tar.gz编译reidscd redis-6.2.6/make编译直接编译就好编辑rediscd src/mkdir /usr/local/redis/{conf,bin,logs,data} -p创建四个目录cp redis-* /usr/local/redis/bin/复制cd /usr/local/redis/bin/rm -f *.crm -f *.drm -f *.ocd redis-6.2.6/cp r

2021-12-21 15:29:03 463

原创 MySQL数据库mycat高可用

高可用方案 我们可以使用 HAProxy + Keepalived 配合两台 Mycat 搭起 Mycat 集群,实现高可用性。 HAProxy实现了 MyCat 多节点的集群高可用和负载均衡, 而 HAProxy 自身的高可用则可以通过 Keepalived 来实现.安装配置 HAProxy解压编译make TARGET=linux310 PREFIX=/usr/local/haproxy ARCH=x86_64ARGET=linux310,内核版本,使用uname -r查看内核,如: 3.10

2021-12-16 16:30:36 1399

原创 MySQL数据库高可用之pxc

先定义hosts主机Vim /etc/hosts先解决依赖包yum install -y libev lsof perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-DBD-MySQL perl-DBI \ perl-Digest perl-Digest-MD5 perl-IO-Compress perl-Net-Daemon perl-PlRPC qpress socat openssl openssl-devel其中qpress包安装不了需要

2021-12-13 21:08:00 354

原创 MySQL数据库mycat读写分离

mycat读写分离Mycat的读写分离是建立在Mysq的主从复制的基础上的 修改配置文件 schema.xml<?xml version="1.0"?><mycat:schema xmlns:mycat=“http://io.mycat/”> <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">

2021-12-13 11:08:46 663

原创 MySQL数据库mycat安装

一什么是MyCat一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品二什么使用MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种 操作也是愈加的困难,传统的关系性数据库已

2021-12-13 11:04:13 688

原创 MySQL数据库高可用之MHA安装部署基础命令

关闭selinux:vim /etc/selinux/config下selinux=disables关闭防火墙端口firewall-cmd --add-port=3306/tcp –permanentfirewall-cmd --add-port=3306/tcp安装:yum install -y repel-releasewget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo/etc

2021-12-13 10:59:45 695

原创 MySQL数据库主从复制

配置mysql数据库主从复制备份数据库(备份)mysqldump -u用户 -p密码 -A > 路径复制到另一个数据库scp 路径 ip:/复制到某个路径下创建用户(用来做主从复制用户)grant replication slave on . to 用户@‘ip’ identified by ‘密码’查看当前二进制show master status第二台服务器设置从服务在mysql主配中写入从服务配置relay_log=relay-binrelay_log_index

2021-12-13 10:45:12 401

原创 MySQL数据库备份还原

mysql -u用户 -p密码 -e“reset master”清空所有的二进制文件mysql -u用户 -p密码 -e "flush logs"刷新二进制日志show binary logs查看数据库上的二进制日志show binlog events查看二进制日志信息show binlog events from pos(数据值)查看二进制从posshow binlog events from pos(数据值) limit 数字;查看二进制从pos开始查看(数字)行show bin

2021-12-06 09:51:42 944

原创 MySQL数据库之mmm配置文件

配置文件都放到了/etc/mysql/mmm/下面。管理服务器和数据库服务器上都要包含一个共同的文件mmm_common.confactive_master_rolewriter#积极的master角色的标示,所有的db服务器要开启read_only参数,对于writer服务器监控代理会自动将read_only属性关闭。cluster_interfaceeno16777736#群集的网络接口pid_path /var/run/mmm_agentd.pid#pid路径bin_path /usr/l

2021-12-06 09:35:40 1063

原创 MySQL数据库高可用之mmm

一:MMM简介MMM即Multi-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制 配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能 对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟ip,除此之外,它还有实现数 据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案 能实现服务

2021-12-06 09:29:22 836

原创 MySQL数据库高可用双主

生产环境中一台mysql主机存在单点故障,所以我们要确保mysql的高可用性,即两台MySQL服务器如果其中有 一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。一配置两台MySQL主主同步该过程的第一部分就是master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改 变。MySQL将事务

2021-12-02 01:43:18 1912

原创 MySQL数据库配置优化

MySQL参数优化对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系, 优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。 下面列出了对性能优化影响较大 的主要变量,主要分为连接请求的变量和缓冲区变量连接请求的变量:max_connectionsMySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多, MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适

2021-11-23 04:56:37 5389

原创 MySQL用户与权限

.用户列 user表的用户列包括 Host、 User、password,分别表示主机名、用户名和密码。其中 user和 Host为 user表的联合主踺。当用户与服务器之间建立连接时,输入的账户信息中的用户名称、主机名和密码必 须匹配user表中对应的字段,只有3个值都匹配的时候,才允许连接的建立。这3 个字段的值就是创建账 户时保存的账户信息。修改用户密码时,实际就是修改user表的password字段的值。权限列 权限列的字段决定了用户的权限,描述了在全局范围内允许对数据和数据库进行的操作。包括查

2021-11-10 23:43:36 2392

原创 MySQL数据库事务

什么是事务多条sql语句,要么全部成功,要么全部失败。MySQL的事务是在存储引擎层实现。 MySQL的事务有ACIDA 原子性(atomicity):一个事务必须被视为一个不可分割的单元。C 一致性(consistency):数据库是从一种状态切换到另一种状态。I 隔离性(isolation):事务在提交之前,对于其他事务不可见。D 持久性(durablity):一旦事务提交,所修改的将永久保存到数据库。事务命令事务开始:start transaction事务开始:begin事务提交:c

2021-11-10 22:16:04 876

原创 MySQL数据库触发器

MySQL 数据库中触发器是一个特殊的存储过程,不同的是执行存储过程要使用 CALL 语句来调用,而触发器的 执行不需要使用 CALL 语句来调用,也不需要手工启动,只要一个预定义的事件发生就会被 MySQL自动调用引发触发器执行的事件一般如下:增加一条学生记录时,会自动检查年龄是否符合范围要求。每当删除一条学生信息时,自动删除其成绩表上的对应记录。每当删除一条数据时,在数据库存档表中保留一个备份副本。触发程序的优点如下:触发程序的执行是自动的,当对触发程序相关表的数据做出相应的修改后立即执行。

2021-11-08 22:24:50 1478

原创 MySQL数据库视图

视图是一张虚表,和真实的表一样。视图包含一系列带有名称的行和列数据。视图是从一个或多个表中导出来的,我们可以通过insert,update,delete来操作视图。当通过视图看到的数据被修改时,相应的原表的数据也会变化。同时原表发生变化,则这种变化也可以自动反映到视图中。视图的优点:简单化:看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化操作。经常被使用的查询可以制作成一个视图安全性:通过视图用户只能查询和修改所能见到的数据,数据库中其他的数据既看不见也取不到。数据库授权命令可以让每个

2021-11-03 20:14:28 366

原创 MySQL数据库查询数据

查询数据数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单查询数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。基本查询语句mysql从数据表中查询数据的基本语句为select语句select语句的基本格式是select{|字段列表}[from <表1>,<表2>……][where 表达式][group by][having][order by…][limit …]{|}包

2021-11-02 03:43:18 5718

原创 MySQL数据库索引

索引介绍索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度。索引是一个单独的、存储在磁盘上的数据库结构,它们包含着对数据表里所有记录的引用指针。使用索引用于快速找出在某个或多个列中有一特定值得行,所有MySQL列类型都可以被索引,对相关列使用索引是提高查询操作速度的最佳途径。 索引是在存储引擎中实现的,因此,每种存储引擎的索引都不一定完全相同,并且每种 存储引擎也不一定支持索引类型。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16

2021-11-01 20:44:33 89

原创 MySQL数据库函数

MySQL函数一数学函数1绝对值函数:abs(x)abs(x)用于返回x的绝对值2返回圆周率的函数:pi()pi()返回圆周率值3平方根函数:sqrt(x)sqrt(x)返回非负数x的二次方根4求余函数:mod(x,y)mod(x,y)返回x被y除后的余数,mod(x,y)对于带有小数部分的数值也起作用,它返回除法运算后的精确余数5获取整数的函数:ceil(x) 、ceiling(x) 、floor(x)ceil(x) 用于返回不小于 x 的最小整数值ceiling(x)

2021-10-26 03:26:35 505

原创 MySQL数据类型和运算符

数据类型数据表由多列字段组成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就确定了插入的数据内容数据类型分为数值数据类型,日期/时间类型和字符串类型数值数据类型分为整数型,浮点型,定点类型整数型:插入方式;无符号,5个宽度(5) unsigned;(unsigned为整数)alter table 表名 modify 列名 tinyint(5) unsigned;alter table 表名 modify 列名 smallint(5) unsigned;alter table 表

2021-10-21 16:37:19 287

原创 MySQL数据库添加删除数据表约束

添加约束:添加主键:语法:Alter table 表名 add 字符名 数据类型 primary key;(alter改变,primary key主键)添加多建语法:Alter table 表名 add primary key(字符1,字符2);添加非空语法:Alter table 表名 add 字符名 数据类型 not null;(not null非空)添加唯一语法:Alter table 表名 add 字符名 数据类型 unique;(unique唯一)添加默认语法:Alt

2021-10-18 22:27:06 1647 1

空空如也

空空如也

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

TA关注的人

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