自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【docker系】docker安装数据迁移

由于原有之前运维安装docker没有指定docker安装数据到指定目录(挂载的数据盘),导致系统盘磁盘占用接近占满,为了后续系统应用正常运行,现在对应数据迁移。

2025-03-11 22:33:04 303

原创 【linux系】linux系统盘满了排查处理

系统满了,火速我们需要先排查下大文件就这样一层一层通过文件夹排查到对应的大文件一看应该是binlog日志没有设置过期时间可以mysql客户端连接服务端,执行下面命令来解决或者永久配置相关binlog日志过期处理找到对应/etc/my.cnf文件编辑重启mysql后,可以看到系统盘占用磁盘使用率已经降低很多了一般我们安装软件都会在对应的数据盘来安装,看下系统磁盘挂载的情况df -lh醉了,软件安装是不是就没有使用数据盘,而是占用了系统盘,只看到一个盘符/dev/vda1。

2025-03-11 21:01:40 452

原创 【mysql系】mysql启动异常Can‘t create test file localhost.lower-test

我们都知道mysql安装的话,为了增强数据安全,mysqlf安装通常会创建一个名为mysql的系统用户和用户组,而不是root用户。默认数据目录归属mysql:mysql 这样的用户和用户组的身份权限。但是这种方式根据ai的回复是有风险的,那我们正确处理的方法怎么处理呢?那上面的权限没有问题,为什么日志还是提示没有权限访问的异常呢?它的核心目标是为 Linux 系统提供更细粒度的权限控制,如果输出的目录包含mysqld_db_t这个字样,就代表成功了。下面这里是对应的错误日志。下面是ai给我们的回复。

2025-03-06 22:48:30 514

原创 【docker系列】容器yum安装提示Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64

这个是异常信息截图。

2025-03-06 18:02:08 228

原创 【datax系列】datax-web图文操作数据同步(②)

该篇大量图文操作,方便操作上手假如现在的需求是,A数据库的dept表数据同步到B数据库的org_info表,并且我这里只需要过滤同步指定的查询内容,比如研发部门的数据哈。两个表字段设计如下dept表org_info表大家可以看到两个表字段的名称是不一样的,而且表的字段数量也是不同。接下来我们就开始演练。

2025-02-21 14:43:49 1054

原创 【datax系列】datax-web容器化部署搭建(①)

前提是需要有安装docker环境,这块非常简单,大家可以自行处理解决这里是官网相关安装包部署文档简单介绍这里有引用datax-web作者的介绍DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。

2025-02-21 13:25:51 448

原创 【java系】记录一次ClassLoader.getResourceAsStream获取不到文件流

看到这里,我猜想是否和window底层文件操作系统不区分大小写有关呢?而服务器linux是严格区分大小写这个应该属性linux系统的都知道。问题描述反馈,开发同事在本地获取对应文件流是可以正常业务操作,发布到linux服务器对应环境就会出现异常。后来根据代码排查定位,发现确实是因为开发本身代码中有个地方,本该是大写开头的文件名称,他写成了小写。首先我在window操作系统中创建一个logs文件夹,然后在创建一个大写LOGS文件夹。看到上面的截图提示,我们应该知道了吧,想到就要验证,对吧?

2024-09-18 18:04:54 323 1

原创 【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 1765

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

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

2023-08-14 23:27:01 1630

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

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

2023-08-12 22:52:53 748

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

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

2023-08-02 23:52:50 172

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

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

2023-07-29 21:27:22 940

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

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

2023-07-22 01:04:57 5905

原创 【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 2924 4

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

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

2023-07-17 18:11:54 1172

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

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

2023-07-15 23:38:30 416

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

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

2023-07-15 22:09:21 3209

原创 【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 5793

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

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

2023-07-14 17:20:48 1858

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

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

2023-07-13 23:36:34 1618

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

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

2023-07-10 08:34:16 1200 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 1790

原创 【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 1601 1

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

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

2023-06-14 16:28:25 1236

原创 【BurpSuite工具系】1.burpsuite_pro_v1.7.31安装篇

当然如果工具显示想汉化的话,这里我在网上找到了汉化包,我们可以在启动命令的时候,把这一串命令复制出来添加一段参数-Dfile.encoding=utf-8 -javaagent:BurpSuiteCn.jar,通过命令行来启动达到目的。在弹出来的小窗口中需要我们填写license key , 这里我们将我们截图这里的license内容填入其中就可以,点击next按钮。如果接着我们来到这个页面,说明我们之前的操作就已经成功了,默认就进入选择创建临时项目,点击next按钮。所以大家在安装的时候需要关注这一点。

2023-06-13 15:04:03 42

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

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

2023-06-07 15:43:20 936

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

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

2023-06-05 22:30:31 2881

原创 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 2145

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

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

2023-05-26 15:43:52 1527

原创 【故障处理】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 5234 2

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

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

2023-05-22 15:48:09 1169

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

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

2023-05-18 09:33:53 2473

原创 【mysql系】表碎片清理

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

2023-05-18 09:12:07 485

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

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

2023-05-06 17:41:29 917

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

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

2023-04-25 14:46:38 1177

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

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

2023-04-25 14:13:15 1755

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

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

2023-04-20 22:40:22 2476

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

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

2023-04-20 21:56:45 1557

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

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

2023-04-17 19:33:02 1822

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

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

2023-04-17 19:03:50 1046

空空如也

空空如也

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

TA关注的人

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