自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【canal系】canal集群异常Could not find first log file name in binary log index file

canal-adapter:相当于canal的客户端,会从canal-server中获取数据,然后对数据进行同步,可以同步到MySQL、Elasticsearch和HBase等存储中去。canal-server(canal-deploy):直接监听MySQL的binlog,把自己伪装成MySQL的从库,只负责接收数据,并不做处理。canal-admin:为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作。canal环境的几个组件。

2023-09-08 12:03:33 1073

原创 【springmvc系】利用RequestBodyAdviceAdapter做接口鉴权

RequestBodyAdvice这里类能干什么对进行增强处理,比如所有请求的数据都加密之后放在 body 中,在到达 controller 的方法之前,需要先进行解密,那么就可以通过 RequestBodyAdvice 来进行统一的解密处理,无需在 controller 方法中去做这些通用的操作。

2023-08-14 23:27:01 1268

原创 【elasticSearch系】3.完整搭建详尽版elk

话不多说,我们先看下经典的elk 是由哪些组件搭建组合起来的。

2023-08-12 22:52:53 702

原创 【elasticSearch系】2.玩转elasticSearch 日常查询实战

对匹配的搜索结果进行排序,相关性得分衡量每个文档与查询的匹配程度。相关性分数是一个正浮点数,在_scoreAPI的元数据字段中返回。越高 ,文档的相关性越高。

2023-08-02 23:52:50 115

原创 【elasticsearch系】1.初识玩转elasticSearch

首先给大家介绍下我使用的版本是7.17.3这个版本,关于之前6.x的版本还是有些区别的。Elasticsearch 是一个分布式文档存储。Elasticsearch 不是将信息存储为列式数据行,而是存储已序列化为 JSON 文档的复杂数据结构。存储文档时,会在1 秒内为其建立索引并完全可搜索。Elasticsearch 使用称为倒排索引的数据结构,支持非常快速的全文搜索。关于具体详细的大家可以查看来了解下。

2023-07-29 21:27:22 850

原创 【VirtualBox系列】VirtualBox设置虚拟机网络绝对详细

在学习配置网络之前,我们需要先了解下关于virtualBox的三种网络模式搞懂虚拟机VirtualBox网络配置。

2023-07-22 01:04:57 4782

原创 【BurpSuite工具系】使用BurpSuite一次完整的测试XSS漏洞

xss.js是phantomJS检测xss漏洞的具体实现,进入phantomjs-2.1.1-windows\bin目录打开cmd,执行 phantomjs.exe xss.js 命令设置监听。在Intruder的执行界面上,我们可以通过xss_result来查看payload的检测情况,那些响应报文中存在漏洞标志的均被打√显示出来。开始后,可以看下我们之前phantomjs.exe xss.js 这个命令控制台是否有日志输出。便于我们从控制台观察结果。结果发现系统还是ok的,xss_bug列没有√。

2023-07-21 15:57:54 1970 3

原创 【pulsar系】pulsar分区消息实现顺序消费

pulsar的介绍这是官网的一段介绍说Apache Pulsar是一个云原生分布式消息和流处理平台,最初创建于雅虎!现在是Apache软件基金会的顶级项目关于具体pulsar的详细内容,大家可以通过来学习。

2023-07-17 18:11:54 798

原创 【mysql表分区系】记一次错误的在原分区表追加表分区

首先声明下我这边使用的mysql版本是5.7.29版本,当然下面的问题我这边也是基于这个版本。这里因为没有考证其他版本是否也会有这些问题,可自行来查阅资料。

2023-07-15 23:38:30 194

原创 【mysql表分区系】mysql表分区谨慎使用DROP PARTITION语法以及TRUNCATE PARTITION

首先声明下我这边使用的mysql版本是5.7.29版本,当然下面的问题我这边也是基于这个版本。这里因为没有考证其他版本是否也会有这些问题,可自行来查阅资料。

2023-07-15 22:09:21 2134

原创 【mysql表分区系】mysql创建分区表提示A PRIMARY KEY must include all columns in the table‘s partitioning function

首先声明下我这边使用的mysql版本是5.7.29版本,当然下面的问题我这边也是基于这个版本。这里因为没有考证其他版本是否也会有这些问题,可自行来查阅资料一个唯一键必须包含表分区函数所有的列,根据这个错误提示我们大概就知道怎么处理,但是why?我们还是沉下心来看下官网文档。

2023-07-15 13:22:49 4601

原创 【springboot系】springboot内嵌tomcat配置Accesslog日志文件保留天数

有些时候一些老的项目我们需要开启tomcat服务器访问日志,想看一下服务器记录的访问站点活动(点击,页面浏览,状态错误码)这些可能有用的记录来分析某些原因或者统计某一个请求的数量。当然这些我们也可以直接在nginx上面来捕捉到。里面我们可以看到对应的有个属性maxDays这个默认值-1,代表永久保留。我们就可以设置这个值。那如何开启对应的accesslog日志配置呢,默认tomcat是禁用的。springboot项目开启accesslog日志的完整配置如下。来调整保留天数为15天。

2023-07-14 17:20:48 1451

原创 【springboot系】springboot集成日志框架logback

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置。因此只需要在文件夹下创建即可,配置文件内容如下-- 定义日志存放目录 -->-- 日志输出的格式-->--输出到控制台 ConsoleAppender-->--展示格式 layout-->--过滤器,只有过滤到指定级别的日志信息才会输出,如果level为ERROR,那么控制台只会输出ERROR日志-->--正常的日志文件,输出到文件中-->

2023-07-13 23:36:34 1457

原创 【xss防御】springboot项目如何防御XSS攻击

Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。为了和 CSS 区分,这里把攻击的第一个字母改成了 X,于是叫做 XSS。XSS 的本质是:恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。

2023-07-10 08:34:16 925 1

原创 【mysql系】mysql读库报错Difficult to find free blocks in the buffer pool 异常

看到上面的问题,中文简单翻译过来大概就是缓冲池没有空闲块,也有可能在你的 Unix 版本中 fsync 调用非常慢,或者在操作系统内核中完全冻结。对于缓冲池在几 GB 范围内的系统,将缓冲池划分为单独的实例可以提高并发, 通过减少不同线程读写缓存页面时的争用。我这边看到服务器my.cnf 文件没有对该参数选项设置 那么默认就是参数值128M,这个参数值太小了,生产环境我们肯定是需要调整的。),如果my.cnf文件没有配置log_error的选项,那默认就是在数据目录下并且文件名字是主机名.err这个文件。

2023-06-28 14:15:50 1184

原创 【csrf防御】springboot项目如何防御csrf

CSRF(Cross-Site Request Forgery) ,通过单词简单理解就是跨站点请求伪造,用通俗简单点就是攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的操作1、用户打开浏览器访问受信任网站A,输入用户名和密码请求登录网站A;2、在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;3、用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

2023-06-14 18:09:19 1160

原创 【BurpSuite工具系】使用BurpSuite一次完整的测试CSRF漏洞

在搜索选项 network.proxy.allow_hijacking_localhost jiang 将false修改为true,双击打开我们的burpsuite工具,将这里的监听端口改为8008。火狐浏览器地址栏添加 about:config。这样本地请求就可以监听到了。下载火狐浏览器设置网络代理。打开百度,浏览器提示这个。双击该选项就会为true。

2023-06-14 16:28:25 878

原创 【mysql系】创建跨逻辑库视图

需求当然如果很方便的方式,直接select查询的时候使用逻辑库.表名的方式。我这里采用了另外一种方式来做那就是视图(实践。

2023-06-07 15:43:20 719

原创 【故障处理】VisualVM工具排查内存OOM问题

根据上面我们对应项目的代码很快就可以定位到问题 点击进去一直跟下去找到那个对象。那么来正题,我们将对应的文件下载到本地来通过图形化界面VisualVM分析。项目中使用的docker容器启动,里面添加了java程序启动的配置参数。就这样跟着调用的方法就可以跟到最后的那个对象,这里就不再跟了。往下看一直看到有我们自己项目中的包,提取到自己看到的关键信息。在打开的概要选项卡这里我们看到这个关键信息,我们点击进去看下。点击类选项卡,可以看到对应实例占用堆内存的大小。点击在类视图中显示,可以看到对应的类图信息。

2023-06-05 22:30:31 2319

原创 Connect to telnet server error: 127.0.0.1 3658 java.net.ConnectException: Connection refused

果真让我看到了pom文件有对应arthas字样的依赖,而且版本是3.4.3低于我上述命令安装的最新版本3.6.9.因为其他项目之前在docker容器中我这里是可以安装arthas成功的,但是这个项目就是不可以。看到日志其实心里是有些疑惑的,因为之前在其他项目docker容器是可以成功安装并启动成功的。是其他原因的话,可以查看这里github有人给出的几点方面的排查原因,是不是和你一样的原因。如果你也是和我一样的原因,也解决这样的问题,那么恭喜你。回到这里先看下官网这个端口是干嘛的。这里就直接先上排查思路。

2023-05-30 17:08:59 1629

原创 MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

那么我们看到事务表中INNODB_TRX,里面是否有正在锁定的事务线程,看看ID是否在show processlist里面线程中,如果有,那么就证明了这个休眠的线程事务一直没有commit(提交)或者roolback(回滚)而是卡住了,所以,我们需要人为介入,kill掉。这种错误就是平常说的两个业务相关事务的操作对相同的行锁冲突了,你不提交,我也不提交,导致这样的问题。实际操作的时候,我这里kill掉之后,有个客户端还是在等待,我又去查询了了下,未提交的事务。这个时候等待事务提交的客户端出现。

2023-05-26 15:43:52 1360

原创 【故障处理】java程序cpu飙高如何排查

我们可以使用命令 cat jstack_result.log | grep "java.lang.Thread.State" | sort -nr | uniq -c 来对 jstack 的状态有一个整体的把握,如果 WAITING 之类的特别多,那么多半是有问题啦。当然更常见的是我们对整个 jstack 文件进行分析,通常我们会比较关注 WAITING 和 TIMED_WAITING 的部分,BLOCKED 就不用说了。这里介绍如何使用原生top命令来做定位具体代码的位置处理。

2023-05-25 19:05:04 4750 2

原创 【arthas系】springboot集成arthas-tunnel server

具体文档参考我这里下载版本是arthas-tunnel-server-3.6.3-fatjar.jar。

2023-05-22 15:48:09 941

原创 【数据归档系】1. 浅谈理解数据归档

简单一句话总结,就是数据归档是识别非活动、生命周期完结状态的数据将其移出当前生产系统数据库并移入长期存储系统的过程系统级定期归档是脱离于具体应用模块的业务逻辑的,一般采取每天归档、月度归档、季度归档、年度归档几个粒度进行。月度、季度和年度归档是最为常用的归档模式。我们这里拿订单举例,以时间和状态的组合维度为做为归档数据的定义。

2023-05-18 09:33:53 1253

原创 【mysql系】表碎片清理

当然如果生产环境环境表是做过分区的且是根据分区维度做删除的,可以使用交互分区到普通表,或者删除对应分区drop partition,也是会释放空间的。查询结果出来 data_free列的值就是对应的碎片大小。这里需要注意生产环境切记在业务高峰期操作执行该语句。对应表进行做碎片整理的sql脚本(推荐使用)查看日常表空间大小大于50M的表的脚本。

2023-05-18 09:12:07 429

原创 【js系】一次前端id超过16位整数的bug问题

如果超过这个值,那么js会出现不精确的问题。果真有个id的值,后端数据库查询返回给前端的是13557206188654767 结果启用传给后端的接口id值变成了13557206188654768。先前言讲述下,项目中碰到的一个奇葩问题,项目中有个列表启用按钮,界面操作流程是先选择某一行记录选中点击启用,可是选中后某一行竟然没有操作上。看到这个问题,于是就搜索引擎关于js 超过16位失真的问题 ,找了篇文章大概理解了下。于是就前端debug查看下前端传递后端参数值是否有问题。如何防止这个事情发生呢?

2023-05-06 17:41:29 771

原创 【arthas系】springboot项目如何修改jar包静态文件、配置文件

登录服务器、或者docker容器里面执行,因为我这里知道项目的jar目录在data文件夹下,所以使用了data的目录。执行完成后,我们重新回到外面(项目的jar)的目录,重新压缩项目jar文件。因为我这里是模块化项目,修改的是嵌套打包lib目录下的jar包里面的内容。再次解压需要真正修改的jar包内容,找到修改的文件添加修改的内容。当然,这里强调的是 也是我目前还没有找到好的办法,需要重启jar。将新解压后的文件夹, 重新压缩原来jar的名字。将新解压后的文件夹, 重新压缩原来项目jar的名字。

2023-04-25 14:46:38 969

原创 【arthas系】java语言项目如何不停机替换生产某一个class类

先简单介绍下文章中使用是springboot项目,采用的工具是arthas关于arthas的命令、以及官网地址这里贴以下出来这里先说明下,arthas有在线反编译class文件()->修改源文件->重新编译() 这样的流程来修改文件。这里在网上找到一篇对应这个流程的但是基本上重新编译这个操作很少成功。所以我这边直接选择使用完成的。

2023-04-25 14:13:15 1322

原创 【跨域系】为何配置了corsFilter还是出现跨域问题

java代码解决这个问题,尤其是springboot项目,可以有很多种方式,我这里由于项目原因以及处于从web访问执行的流程上来说filter肯定是先执行的,直接就选择用filter来处理的。为了本地容易测试这个跨域问题,简单写了一个简单的html文件贴到这里来,当然关于页面需要的脚本jquery包 就大家需要自己来获取了。贴上上面的代码,理论上面springboot启动 之后,跨域问题应该就可以解决了,但是当我访问的时候还是会出现跨域的问题。虽然添加了跨域的配置,这里我的控制台竟然是跨域的问题。

2023-04-20 22:40:22 2129

原创 【mysql系】mysql数据库表字段逗号分割正则匹配多个值

现在表字段有个name字段值为多个分别用逗号隔开,现需要实现如果前端通过页面选择其中几个值,怎么获取对应的查询结果呢?思考了下,这样的条件不就是看字段的值 是否正则匹配传入的字段 不就可以实现这样的效果嘛!如果查询条件传入李四,张三 那么就需要查询出来id为1和2的记录。于是,我这边根据思路,整理了下完整的sql语句,并贴出了对应查询结果。如果传入张三,那么就需要查询出来记录id为1的记录。如果查询条件传入王五,就需要全部查询出来。于是,通过搜索引擎查到了这样的语法。这样子,就实现了我们想要的效果。

2023-04-20 21:56:45 1368

原创 【压测系】3.jmeter如何协同apiFox来压测示例

现在我们介绍下怎么用我们在apiFox测试用例那里导出按钮生成jmeter格式的数据xx.jmx文件。我讲解了下apifFox怎么做压测,怎么做接口用例、测试用例。选择apiFox生成的xx.jmx文件,结果就呈现我们之前使用。启动jmeter工具,我们在工具栏哪里选择文件->打开。如果我们需要单接口做动态参数并发压测,就可以使用。http接口请求使用对应的变量来设置。如果缺少其他的,就看下之前。添加对应的csv文件。

2023-04-17 19:33:02 1346

原创 【压测系】2.jmeter压测工具使用示例

先简单介绍下我们这边的一个场景,用户现在使用登录请求进来,用户绑定了多家门店,然后下单,下单接口完成后,正常响应结果会返回一个字段值,我们会使用该字段的值作为请求另外一个接口报文的参数值。

2023-04-17 19:03:50 716

原创 【压测系】1.apifox 自动化压测示例

作为后端程序员,之前使用过的接口调试工具postMan,restclient等。近期看到csdn右边的小广告弹窗,我这边无意之间点击打开下载之后。被它的很多功能一下子,吸引住了。比如有压测工具的功能、自动化测试、团队协作、重要的是不收费。为了记录下使用该工具完整的压测过程,我写了这篇文章下面就给大家演示下使用如何做一个接口自动化测试示例。

2023-04-17 17:55:25 10041

原创 【linux系】压缩命令tar: Cowardly refusing to create an empty archive

解决办法其实大家各自都有自己的想法,我这边没有做任何处理,因为没有搜索到合适的文件内容,我为什么还要创建一个空的压缩文件。-p 保留档案的原本权限和属性,主要是备份重要文件的时候使用。-v 将压缩、解压缩过程中处理的文件名输出到屏幕。大概看意思是"拒绝创建空的文档" ,排查思路。先看下是否扫描路径查找的结果是空的。-t 查看打包档案里含有的文件名。于是我这边通过前面的搜索命令执行,-C 后面接要解压缩的特定目录。我这边执行的linux命令是。-x 解打包或解压缩的功能。tar 压缩命令的常规用法。

2023-04-04 11:10:26 4420

原创 【搜索系】linux 常用文本搜索find命令示例(持续补充)

需求 通过查找指定目录下(包含下面子目录)指定后缀.yml 并查找内容包含关键字"XHID"需求 查找指定目录下正则匹配后缀.mp4或者.MOV的文件 把他们删除掉。

2023-03-23 14:26:28 203

原创 【mysql系】数据库统计各个表的大小、表备注搜索表名、表分区等常用sql查询

【代码】数据库统计常用命令(持续补充)

2023-03-23 14:21:19 1573

原创 【docker系】iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 18086 -j DNAT --to-destination

docker在防火墙关闭情况下,重启容器后发生的异常

2023-03-16 21:07:33 217

原创 【事务系】基础篇2-锁

悲观锁、乐观锁、间隙锁、行锁、死锁、死锁日志分析

2022-09-27 21:10:43 239

原创 【事务系】基础篇1-概念

如果您想快速了解事务,可以关注此篇文章既可

2022-09-26 21:40:53 418

空空如也

空空如也

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

TA关注的人

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