自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dark_horse_lk的博客

厚积薄发!

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

原创 不停机修复mysql主从数据同步错误导致服务器磁盘占满问题

经过磁盘空间检查,主要是/mysql/data目录使用100%(直接占满了),进入目录后发现被文件slave-relay-bin.*系列文件占满了。发现如图所示的提示信息,等待磁盘空间,具体错误的原因是从库好像被人修改过数据,导致同步数据过程中数据不一致,所以一直报错,导致日志占满了磁盘空间。2-4:然后将从库清空,为保险期间我清理了/mysql/data目录下所有的slave-relay-bin.*系列文件,然后对应的业务库删掉重建。2-10:检查主库和从库业务表数据是否一致,磁盘空间是否正常。

2023-04-28 15:17:30 965

原创 git cherry-pick could not apply fb2cde669...问题解决

自我理解 git cherry-pick 过程中的冲突解决就是要么舍弃掉某个文件的修改,要么完全使用某个文件的修改。和 git merge原理是不一样的,git merge是可以对文件内容进行逐个冲突的合并。2:根据自己合并的需求,对Unmerged paths:中的内容使用git rm或者git add 进行操作。1:首先使用git status 查看本地的具体内容。具体原因是cherry-pick指定的commit内容中和当前分支有冲突导致的。git rm 是舍弃某个文件的这次修改。

2023-02-24 11:44:30 890

原创 mysql 递归查询函数大数据量返回数据不全

mysql 递归查询函数大数据量返回数据不全项目中发现,一棵树定义的特别大的时候,查出来的数据缺失了一部分

2023-02-17 15:12:11 595

原创 mysql创建view并且赋予对应权限

业务场景,我们系统要对外开放一个指定的只读视图。使外部系统可以直接访问对应的数据。3:给创建的用户(lisi)赋予这个视图只读权限。4:如果赋权限错了,可以使用revoke进行撤销。1:创建一个用户供外部系统使用。2:创建业务所需要的视图。

2022-10-14 15:53:07 1015

原创 Period.between获取到的时间和预期不符

开发中计算两个日期之间的相差的天数,月数等场景。遇到了运行结果为记录一下,原因暂时还没仔细看。

2022-06-16 11:31:27 274

原创 将代码从一个git仓库到另一个git仓库

业务场景:因为内部整理代码,需要将之前的A仓库代码迁移到新的B仓库中,其中B是一个新仓库啥都没有,A有master、dev、bug-fix三个分支,需要将A中的三个分支全部迁移到B仓库中。使用命令行操作:1:首先进入A仓库查看远程仓库地址:git remote2:添加一个远程仓库并且取名(名字按照自己公司规定随便取):git add remote new-re(自己的远程仓库命名) master3:设置远程从仓库地址(可用git也可用ssh,根据自...

2022-01-05 11:42:52 4936 2

原创 MySQL8.0版本 function关键字采坑记

自己本地测试环境MySQL:5.7。线上生产环境MySQL:8.0新功能中添加了一张表,表中有个function字段测试环境运行一切正常。生产环境报如下错误Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to y.

2021-11-12 11:07:40 1259

原创 不同系统换行符的处理

最近在做服务监控的东西。本地开发windows。服务器linux,在读取日志进行展示的时候发现换行有问题,特此记录下:windows下面换行符 \r\nlinux下面换行符 \nmac下面换行符 \r

2021-11-01 14:41:34 129

原创 dokcer/overlay2目录下占用空间过大,占用磁盘迁移

本片文章记录下再linux系统正常安装docker之后,使用过一段时间之后发现系统盘即将占满。经过磁盘占用空间情况查看,一方面系统盘本身是比较小的,另一方面/var/lib/docker/overlay2目录占用过大。经过一番搜索学习之后,整理下这篇文章。总体思路:docker的文件系统存储的目录将其迁移至其它空间较大的磁盘(注意,安装的docker的时候一定要养成指定下docker root dir)接下来开始清理 1:首先可以使用sudo du -hs /var...

2021-10-27 10:29:54 1135

原创 mysql事务锁手动释放

1:查看数据库当前的进程,这个命令可以列出当前库所有的线程mysql> show processlist;2:查看当前的事物情况 2-1:查询当前数据库运行的所有事物mysql> SELECT * FROM information_schema.INNODB_TRX; 2-2:查询当前数据库出现的锁mysql> SELECT * FROM information_schema.INNODB_LOCKs; 2-3:...

2021-08-26 14:44:07 2027

原创 java实现从邮箱接入邮件

最近项目需要从邮箱中读取邮件并且进行解析。于是在晚上找了这么个工具类(记录一下)public class MailMessageUtil { private Logger log = LoggerFactory.getLogger(MailMessageUtil.class); @Autowired private BaseFeignClient baseFeignClient; public List<MailMessage> receivePop

2021-07-30 16:37:15 989

原创 Oracle mybatis 批量新增时使用序列的写法

记录下Oracle数据库在使用mybatis框架批量新增的时候使用序列的特殊写法刚开始时是直接select出来之后在service中使用的,但是批量生成数据的时候会出现频繁访问数据库,所以才探索了一番。于是有了下面的写法(我这边不是单纯用序列生成id,所以在最内层的select中需要取上别名好在外层的select中使用)...

2020-06-05 15:53:18 620

原创 Oracle分页、排序导致的数据重复

今天测试提了一个bug,分页数据不对,我寻思了半天先来说下开发环境:数据库Oracle持久框架 mybatis分页插件 PageHelper项目工程 spring-boot最终排查,将最终执行的sql打印出来,才找到了罪魁祸首 "oracle排序的不稳定"因为数据是批量插入的,所以create_time基本是一样的分页语句如下:select * from( select a.*, rownum rn from ( select * from us...

2020-05-26 11:25:49 706

原创 oracle排序时null值的三种常见处理方式

1:缺省值排序默认为缺省值排序,这种排序方式会将null作为无穷大的值进行排序,ASC就是null在最后,DESC就是null在最前2:使用nvl函数使用nvl函数将null值转换为其它值进行需要的排序顺序3:使用decode函数原理基本一致,只是功能比nvl函数更加强大decode(emp_no, null, 0, emp_no),有点像三目运算。...

2020-03-11 15:12:30 398

原创 mongodb分页查询、模糊匹配查询、数组元素匹配查询

近期有相关需求,探索完使用方法之后做个记录Query query = new Query(); if(StringUtils.isNotEmpty(name)){ //Pattern pattern = Pattern.compile("^张$", Pattern.CASE_INSENSITIVE); //完全匹配 //P...

2020-03-11 14:34:35 1669

原创 mongodb查询匹配数据类型引起的问题

今天遇到了一个坑(自己理解不到位),特此记录下。场景是这样的,根据key_id保存修改,最后发现修改前后数据没啥变化。update的语句如下,没什么问题。于是我怀疑问题出现在了query的查询条件 Query query = new Query(); if(EnvironmentConstant.TRAVEL_SKY.equals(environment...

2020-03-11 11:11:52 969

原创 java获取本机ip

作为2020年自己的第一篇博客,小小的记录下java下获取本机ip的方法,以备后用try { InetAddress candidateAddress = null; // 遍历所有的网络接口 for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreE...

2020-01-02 17:34:33 121

原创 mongodb查询之只查询指定字段

由于数据量比较大,数据结构复杂,最近在项目中有了从mongo中查取数据的需求。从开始直接使用api去查询,到后面使用DBcursor查询,虽然效率上取得了一旦的效果,但是没有达到预期,最后打日志分析得出,其实查询本身很快了,只是在数据传输的过程中比较慢(由于数据量比较大)。于是就有了今天的主题 -- 只查询指定的字段经过探索,有两种方式,用起来比较顺手,具体看使用时的场景。第一种...

2019-12-31 14:29:41 5579

原创 使用maven打包时Unknown lifecycle phase错误

当执行mvn -U clean package -Prelease -Dmaven.test.skip=true命令打包时报如下错误:[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format <plugin-...

2019-12-12 16:27:49 3530 1

原创 sonar质量检测 -- Fields in a "Serializable" class should either be transient or serializable

最近在使用sonar检查自己java代码的质量,也让我学习到了很多写法上的新东西,今天遇到了这样一个问题:Fields in a "Serializable" class should either be transient or serializable我的原代码这样的:这是个公共类,实现了序列化接口。 @Datapublic class PespResponse<...

2019-11-27 10:28:25 10356

原创 kafka环境搭建-springboot集成kafka

一、使用docker搭建kafka环境1:下载wurstmeister/kafka和wurstmeister/zookeeper镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka2:启动zookeeper容器docker run -d --name zookeeper -p 2181:2181 -...

2019-11-20 17:37:12 443

原创 spring-boot使用内置tomcat上传文件MaxUploadSizeExceededException

今天在上传文件的时候遇到了一个错误,做下记录rg.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http....

2019-11-19 14:48:29 541

原创 Mongo Sort operation used more than the maximum 33554432 bytes of RAM

最近在使用mongodb的时候由于数据量比较大,在查询的时候出现了如下错误。Query failed with error code 96 and error message 'Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes...

2019-11-08 15:50:02 145

原创 Nginx的安装及简单配置

最近使用了下Nginx,简单做下笔记。1:下载安装解压下载的文件 进入目录 ./configure make make install2:基本命令/usr/local/nginx/sbin/nginx -v //查看版本/usr/local/nginx/sbin/nginx -t //验证配置文件的合法性/usr/local/nginx/sbin/nginx /...

2019-11-08 15:45:45 240

原创 spring-data-mongodb中执行mongo的原生查询语句

最近在项目中遇到了通过前端组合条件生成查询的mongo原生查询语句类似于这样的语句{$and : [{ARV_APT: "PEK"}, {$and: [{FLT_DATE: {$gte: "20180101"}}, {FLT_DATE: {$lte: "20180104"}}]}]}然后传给后端进行查询,将结果返回。之前使用mongodb进行CRUD的时候都是基于API的1:使用...

2019-09-05 18:22:22 7854 2

原创 linux下面MongoDB的安装配置详情-用户权限设置

1:下载mongdb的安装包https://www.mongodb.com/download-center/community2:使用SSH工具将安装包上传至服务器某个目录(/usr/local/mongo 为例)tar -xzvfmongodb-linux-x86_64-3.6.14 //解压安装包3:将mongdb添加到PATH中vi /e...

2019-08-30 16:40:58 295

原创 Windows下面docker的简单使用

最近开发项目需要在本地搭建一系列的环境,直接在电脑上安装的话感觉乱七八糟的,于是尝试使用docker来安装需要的各种服务。本片文章的安装使用是基于Windows的1:在docker官网下载windows版本的docker安装文件https://www.docker.com/products/docker-desktop2:傻瓜式安装,下一步,下一步,直到安装完成,桌面会出现如图所示的小鲸鱼...

2019-08-29 17:33:41 607

原创 Flowable用户和系统用户问题

Flowable是一个工作流框架,最近项目需要使用工作流,最终选择集成Flowable到自己的工程中。但是自己系统有自己系统的用户体系,工作流的idm模块也有自己的用户体系。当我们在使用工作流程时,设置候选用户,候选组的时候可以直接从Flowable的用户体系中选取,但是我们如何将自己系统的用户体系数据同步到Flowable的用户体系中去。经过网上的查找及自己和同事的思考,最终有两种实...

2019-07-10 14:55:01 13651 20

原创 ImageIo读取图片出现一层红色的背景

在使用ImageIO.read()方法读取图片时,读取出来的图片如下图所示:原图如下:明显出现了一层红色的罩子,这个是Java读取图片时的一个bug。对此,可以使用如下的方式解决:File source_file = new File("D:\\picture\\maze.jpg"); File result_file = new File("D:\\pict...

2019-07-04 17:13:50 2498

原创 如何防止SQL注入--浅谈

sql注入是一种十分简单的对数据库数据进行攻击的一种手段,如下所示:    private String getNameByUserId(String userId) {    Connection conn = getConn();//获得连接    String sql = "select name from user where id=" + userId;    PreparedS...

2019-02-12 11:04:31 13943 3

原创 关于Git的学习记录 一

我刚刚开始接触Git这个工具,刚开始用感觉有点麻烦,配置什么的都需要命令行,现在我记录下我学习过程中遇到的一些问题及操作步骤,后续学习中再继续补充。我们的目标:把自己本地工程上传到远程仓库,即自己GitHub账户中的repository。1:首先从官网下载git安装包(根据自己的操作系统)安装,我自己是用Windows。2:打开bash窗口生成ssh key(c盘-&gt;用户-&gt...

2018-12-25 15:47:43 110

原创 Spring拦截器关于获取request body参数问题(request body miss)

我是个java小白,在近期的开发中,有这样一个任务,拦截请求,统一对请求进行token的验证,由于特殊原因,工程全部采用post请求。想到的就是拦截器、Filter、aop。由于要求尽量使用spring组件,所以排除Filter,由于工程的URL没有统一规范,所以aop也排除,最后使用了拦截器,在使用的过程中会出现Required request body is missing错误,经过查找资...

2018-09-03 10:30:37 18593 12

原创 关于SQL优化的一些总结

SQL优化的几点意见:1:对查询进行优化尽量避免全表扫描。首先应该考虑在where 或者 order by 涉及到的列上添加索引。2:尽量避免在where子句中对null值判断,否则查询会放弃走索引。3:尽量在where子句中不使用 != 或者 &lt;&gt; ,否则查询会放弃索引,进行全表扫描。4:尽量避免在where子句中使用or连接条件,这样也会放弃走索引查询(可以考虑使用union al...

2018-06-24 19:41:59 139

原创 oracle用户名密码过期

在使用oracle的过程中会遇到密码过期这种情况。oracle默认密码过期期限是180天。如果密码过期,会提示你修改新密码并且新密码不能喝旧密码相同。修改后又要通过alter user 用户名 identified by 新密码;改回来,这样很麻烦。现在我们将数据库密码过期设置为永不过期。1:通过下面的语句查询用户的profileSELECT username,

2017-12-07 14:27:21 1913

原创 MyBatis的批量更新

MyBatis的批量更新有两种情况:第一种:更新的字段值都是一样的(具体如下) update DUTY set DUTY_NAME = #{dutyName} where DUTY_ID in #{id}

2017-04-12 16:18:37 355

原创 mybatis中的xml文件中的特殊转义字符处理(<[!CDATA[]]>的用法)

我们在使用Mybatis的时候,大致由三部分组成。model、mapper接口、mapper.xml1:其中model就是我们经常使用的实体类,可以再mapper.xml中直接使用(当做参数或者结果返回)2:mapper接口就是对服务层提供的接口,是整个数据库操作的封装。3:mapper.xml是我们来写sql的地方,每一个sql都有一个唯一标示的id,而这个id要与mapper接

2017-03-22 20:16:18 3692

原创 canvas学习笔记(canvas画不出图)

一、刚开始接触canvas的时候使用的是JQuery而不是JavaScript,出现了画不出来图:1:使用JavaScriptvar cas=document.getElementById('canvas').getContext('2d');//这个是使用JavaScript的方法,这个没有问题。2:使用JQueryfunction drawLine(){ var ctx = $("

2017-03-02 16:26:40 3937

原创 使用PL/SQL备份和恢复Oracle

数据库备份是常见的操作,今天整理了一下,我使用的Oracle客户端工具书PL/SQL其备份方法如下:1:通过PL/SQL连接Oracle数据库服务。2:首先我们备份数据库的用户对象(也就是数据表、表结构等),操作步骤:   工具选项卡下面的导出用户对象,如下图所示:点击之后可以选择需要备份的对象如下图选择相应的对象,选择导出位置之后导出即可。2:我们

2017-02-24 15:58:31 4672

原创 js页面加载顺序的两种方式

在页面数据请求的时候,一般会使用异步请求,有时候会出现先后加载顺序的问题:今天理了一下第一种:使用window.onload //1:onload加载方式 window.onload = function(){ var s = 'html'; alert(s); }第二种:使用ready()

2017-02-20 14:50:52 1054

原创 Mybatis的批量插入(oracle、MySQL)

1:数据库使用oracle时,Mybatis的批量插入语句如下: insert into PERSONAL_MESSAGE_SET (PERSONAL_MESSAGE_SET_ID, ACCOUNT_ID, MODULE_CODE, RECEIVE_TIME_AFTER, STATE_REMIND_LA

2017-02-15 16:59:49 238

空空如也

空空如也

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

TA关注的人

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