202111-16 MySQL中的redo log和undo log日志详解 MySQL日志系统中最重要的日志为重做日志redolog和归档日志binlog,后者为MySQLServer层的日志,前者为InnoDB存储引擎层的日志。1重做日志redolog1.1什么是redologredolog用于保证事务的持久性,即ACID中的D。持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。redolog有两种类型,分别为物理重做日志和逻辑重做日志。在InnoDB中redolog大多数情况下... 继续阅读 >
202108-08 详解记录Java Log的几种方式 目录一、System.out.println(最简单)二、java.util.logging(相对简单)三、log4j(最强大)四、commons-logging(全称:JakartaCommonsLogging)五、slf4j(全称:SimpleLoggingFacadeforJava,简单日志门面)在Java中记录日志的方式有如下几种:一、System.out.println(最简单)1、输出到控制台:System.out.println("XXX");2、输出到指定文件:importjava.io.PrintStream;PrintStreamps=newPrintStream("D:\\tes... 继续阅读 >
202103-29 MySQL 撤销日志与重做日志(Undo Log与Redo Log)相关总结 UndoLog数据库事务开始之前,会将要修改的记录存放到Undo日志里,当事务回滚时或者数据库崩溃时,可以利用Undo日志,撤销未提交事务对数据库产生的影响。UndoLog产生和销毁UndoLog在事务开始前产生;事务在提交时,并不会立刻删除undolog,innodb会将该事务对应的undolog放入到删除列表中,后面会通过后台线程purgethread进行回收处理。UndoLog属于逻辑日志,记录一个变化过程。例如执行一个delete,undolog会记录一个i... 继续阅读 >
202103-19 MySQL 8.0 redo log的深入解析 前言最开始了解mysql实现的时候,总听到redolog,WAL(write-aheadlogging),undolog这些关键词,了解到redolog主要是用于实现事务的持久化的。为了进一步了解redolog,看了下相关代码(源码版本:mysql8.0.12),这里简单总结下,主要介绍redolog是如何产生,如何落盘,以及最终通知用户的。redo log的产生读写事务在执行的过程中,会不断的产生redolog。申请数据页、修改数据页、记录undolog等,都会产生redol... 继续阅读 >
202101-17 postgresql 切换 log、xlog日志的实现 os:centos7.4db:postgresql9.6切换log:selectpg_rotate_logfile();切换xlog:selectpg_switch_xlog();补充:postgresql流复制主从切换+resetxlog主192.168.3.46从192.168.3.47现象:由于46主库的xlog日志达到7T以上,磁盘空间不足,需要通过pg_resetxlog命令清日志。解决:1.修改postgresql参数checkpoint_timeout=60min#range30s-1dmax_wal_size=4GBmin_wal_size=1GBcheckpoint_completion_target=0.9wal... 继续阅读 >
202101-17 如何用Python提取10000份log中的产品信息 一、背景协助产品部门提取10000份产品log信息中的SN号、IMEI号、ICCID号到Excel表格中。1.l原始的og内容:2.提取后的Excel表格:二、实现1.思路a.for遍历获取所有log文件的路径;b.for遍历log文件内容;c.re正则匹配SN号、IMEI号、ICCID号写入Excel表格中。2.实现代码#!/usr/bin/pythonimportos,xlsxwriter,redefget_data():workbook=xlsxwriter.Workbook('Test.xlsx')#建立Excelworksheet=workbook.add_work... 继续阅读 >
202012-16 golang 输出重定向:fmt Log,子进程Log,第三方库logrus的详解 独立fmtLog输出重定向golang的fmt包的输出函数Println、Printf、PrintStack等,默认将打印输出到os.Stdout、错误打印输出到os.Stderr,os.Stdout和os.Stderr默认值/dev/stdout/dev/stderr设备。//代码摘自:golang封装包->/lib/golang/src/osvar(Stdin=NewFile(uintptr(syscall.Stdin),"/dev/stdin")Stdout=NewFile(uintptr(syscall.Stdout),"/dev/stdout")Stderr=NewFile(uintptr(syscall.Stderr),"/dev/... 继续阅读 >
202011-29 Oracle数据库由dataguard备库引起的log file sync等待问题 导读:最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由dataguard引起的logfilesync等待。我们知道,通常logfilesync等待都是由频繁写日志造成的,这次居然是由DG环境引起的。(一)问题描述数据库:Oracle11.2.0.4,单机版,有Dataguard环境操作系统:centos7.4通过zabbix监控到的会话阻塞信息如下图,这里是自定义的监控,解释如下... 继续阅读 >
202011-29 Docker Nginx Log 三者的处理详解 因为公司的同事需要Nginx日志标准输出,也就是通过控制台处理,那么我们需要先将日志写到文件内:error_log/var/log/nginx/error.logaccess_log/var/log/nginx/access.log处理方式无非有两种:1.创建宿主机路径,然后将其挂载到容器内的nginx日志路径:dockerrun--namedocker_nginx-d-p80:80\-v/var/log/nginx/log:/var/log/nginx\--!-v:挂载日志目录2.第二种就是落地到日志文件,然后导向标准输出:RUN\ln-sf/dev... 继续阅读 >
202011-10 解决Tomcat10 Catalina log乱码问题 运行环境,Idea2020版本,Tomcat10,运行的时候TomcatCatalinaLog控制台中出现乱码需要修改Tomcat中的配置文件D:\apache-tomcat\apache-tomcat-10.0.0-M9\conf\logging.properties找到1catalina.org.apache.juli.AsyncFileHandler.encoding=utf-8 修改为1catalina.org.apache.juli.AsyncFileHandler.encoding=GBK修改完重新启动Tomcat,运行结果就好了。到此这篇关于解决Tomcat10Catalinalog乱码问题的文章就介绍到这... 继续阅读 >
202011-10 关于IDEA 2020使用 mybatis-log-plugin插件的问题 mybatis-log-plugin:可以在控制台打印执行的SQL,具体自行百度本文章只是抛砖,插件构建请各位百度IDEA构建插件。一.背景在IDEA2020使用这个插件你可以采用以下方法你可以将安装旧版本的IDEA,比如2019。自己构建该插件,各位可以自行下载源码安装二.需要掌握技能IDEA插件简单开发,只要能将插件打包即可IDEA本地插件安装三.github源码地址目前源码是截至到2020年5月份左右https://github.com/kookob/mybatis-log-plugin四.I... 继续阅读 >
202011-10 Idea 2020.2安装MyBatis Log Plugin 不可用的解决方法 之前使用MybatisLogPlugin是个非常顺的工具,刚才突然想用了,就又安装了一次就去使用了结果直接报错了,显示不能使用,仔细看了看,原来是没有授权,我用的是2020版本的idea,之前使用的2019的可以正常使用。整理了一个2020可用的,亲测可用:链接:https://pan.baidu.com/s/1kW0qAPcItDOMLIbjeLSU9A提取码:xrh2推荐阅读:IDEA2020.2.2激活码与IntelliJIDEA2020注册码及IntelliJ全家桶激活码的详细教程(有你足矣)IntelliJID... 继续阅读 >
202010-10 MyBatis Log 插件无法显示SQL语句的原因解析 Mybatis有什么用前两天跟阿里的大牛聊天,他讲到对于性能要求高,需求变化多的互联网项目来说,用在sql优化上的开发时间是大头,有时候代码写出来一小时,优化反反复复可能要几个星期,这时候Mybatis这种配置比较灵活的框架优势就显现了!Mybatis为什么在国内这么流行?1.什么是Mybatis?MyBatis是支持定制化sql、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集。MyBatis... 继续阅读 >
202010-10 IDEA的Mybatis Log Plugin插件配置和使用详解 在使用Mybatis开发项目时,由于避免出现SQL注入,大部分情况下都是使用#{}占位符的方式传参。所以日志打印SQL时,打印的也是占位符,如:如果SQL比较复杂,参数又很多的话,要通过日志拼凑真正可执行的SQL还是件比较头痛的事情。好在IDEA有款很不错的插件(MybatisLogPlugin)可以解决上述问题。插件安装像其它插件一样,可选择在线安装和离线安装。在线安装:搜索MybatisLogPlugin,直接install即可。离线安装:可从:http:/... 继续阅读 >
202010-10 idea插件之mybatis log plugin控制台sql的问题 兄dei,耐心把我的写的看完,我写的不繁琐,很好理解.IDEA插件之MybatisLogplugin破解及安装方法 去Idea的plugins里面搜索mybatislogplugin.如果搜不到,没关系,这可能跟我们激活的idea时候填的激活码有关系,作者只是根据自身使用的idea经验怀疑是这个原因,不说这个 下面是官方的连接 https://plugins.jetbrains.com/plugin/10065-mybatis-log-plugin.来这... 继续阅读 >
202010-10 IDEA插件之Mybatis Log plugin 破解及安装方法 前言今天重新装了IDEA2020,顺带重装了一些插件,毕竟这些插件都是习惯一直在用,其中一款就是MybatisLogplugin,按照往常的思路,在IDEA插件市场搜索安装,艹,眼睛一瞟,竟然收费了,对于我这种支持盗版的人来说太难了,于是自己开始捣鼓各种尝试破解,下文分享自己的破解方式。什么是MybatisLogplugin举个栗子,通常在找bug的时候都会查看执行了什么SQL,想把这条SQL拼接出来执行调试,可能有些小白还在傻傻的把各个参数复... 继续阅读 >