<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[晨夕的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liuhanran</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liuhanran]]></copyright><item><title><![CDATA[轻量级基础运维op-agent]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/123163437</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/123163437</guid><author>liuhanran</author><pubDate>Sun, 27 Feb 2022 15:30:07 +0800</pubDate><description><![CDATA[op-agent
简介
当我们管理的物理机以及数据库实例达到一定体量的时候，我们会面临诸多挑战，比如备份系统可能需要在本地执行任务；慢日志系统可能需要将日志收集到日志管理中心；高可用系统可能需要与本地任务交互，来实现更可靠地实例状态检测；自动诊断系统可能需要在本地执行特殊的任务等。另外我们可能需要快速感知集群拓扑结构的变化并自动更新元数据记录；以及在短时间内快速接收实例元信息等。
基于以上需求，我设计、开发了一款轻量级的agent，以实现大规模任务的配置、部署、管理、API功能暴露等。
架构

...]]></description><category></category></item><item><title><![CDATA[MySQL 解析binlog 统计DML、长事务与大事务分析工具之my2sql]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/107427391</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/107427391</guid><author>liuhanran</author><pubDate>Sat, 18 Jul 2020 13:13:04 +0800</pubDate><description><![CDATA[my2sql
简介
go版MySQL binlog解析工具，通过解析MySQL binlog ，可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等，也可以生成DML统计信息。https://github.com/liuhr/my2sql
安装
编译
git clone https://github.com/liuhr/my2sql.git
cd my2sql/
go build .

也可以直接下载Linux版编译好的可执行文件
https://github.com/liuhr/my2sql/]]></description><category></category></item><item><title><![CDATA[MySQL 解析binlog生成标准SQL工具之my2sql]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/107427204</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/107427204</guid><author>liuhanran</author><pubDate>Sat, 18 Jul 2020 12:50:51 +0800</pubDate><description><![CDATA[my2sql
简介
go版MySQL binlog解析工具，通过解析MySQL binlog ，可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等，也可以生成DML统计信息。https://github.com/liuhr/my2sql
安装
编译
git clone https://github.com/liuhr/my2sql.git
cd my2sql/
go build .

也可以直接下载Linux版编译好的可执行文件
https://github.com/liuhr/my2sql/]]></description><category></category></item><item><title><![CDATA[MySQL闪回工具之my2sql]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/107426162</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/107426162</guid><author>liuhanran</author><pubDate>Sat, 18 Jul 2020 12:27:35 +0800</pubDate><description><![CDATA[my2sql
简介
go版MySQL binlog解析工具，通过解析MySQL binlog ，可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等，也可以生成DML统计信息。https://github.com/liuhr/my2sql
安装
编译
git clone https://github.com/liuhr/my2sql.git
cd my2sql/
go build .

也可以直接下载Linux版编译好的可执行文件
https://github.com/liuhr/my2sql/]]></description><category></category></item><item><title><![CDATA[MySQL binlog回滚/闪回、前滚、DML统计、长事务与大事务分析之my2sql工具]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/107425016</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/107425016</guid><author>liuhanran</author><pubDate>Sat, 18 Jul 2020 11:13:38 +0800</pubDate><description><![CDATA[my2sql简介
go版MySQL binlog解析工具，通过解析MySQL binlog ，可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等，也可以生成DML统计信息。类似工具有binlog2sql、MyFlash、my2fback等。
用途

数据快速回滚(闪回)
主从切换后新master丢数据的修复
从binlog生成标准SQL，带来的衍生功能
生成DML统计信息，可以找到哪些表更新的比较频繁
IO高TPS高， 查出哪些表在频繁更新
找出某个时间点数据库是否有大事务或者长事务
主从延迟]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--数据库巡检]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/78476888</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/78476888</guid><author>liuhanran</author><pubDate>Wed, 08 Nov 2017 11:40:15 +0800</pubDate><description><![CDATA[数据库巡检这块目前还没正式开始做，不过把规划的内容先分享下。以后更新。。







有图标的正打算做的，没图标的还没有安排
敬请期待 。。。。。。。。。。。。。。。]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--DDL平台服务]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/78470447</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/78470447</guid><author>liuhanran</author><pubDate>Tue, 07 Nov 2017 17:44:54 +0800</pubDate><description><![CDATA[最近做了一个自认为很牛逼的平台，RD自助DDL操作，其实这种操作开放给RD自助执行是非常危险的，即便是DBA在做大表操DDL的时候，都经常会出现一些状况，比如造成锁等待连接打满，造成主从延迟等。
其实这部分只要用对工具，把特殊情况考虑到，也是可以做成服务开放出去的。

先来了解下目前在线表DDL的几种方式以及优缺点

1, 通过InnoDB在线online功能]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--自助建表建库]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/78469985</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/78469985</guid><author>liuhanran</author><pubDate>Tue, 07 Nov 2017 17:12:13 +0800</pubDate><description><![CDATA[在没有建表审核执行平台之前，DBA一般通过人肉方式审核RD提交的建表语句。这种方式一般是RD提交jira，
DBA接收到jira后用 "火眼金睛" 目测他们建表SQL是否符合规范。一般会有以下几点问题
1, 语法错误，经常有RD不经过测试就发给DBA，真正运行时候才发现错误。
2, 规则问题，建表的时候 一般DBA都会建立一套规则，比如字符集，索引，字段长度等，通过人肉的方式]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--自助权限申请]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/73289242</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/73289242</guid><author>liuhanran</author><pubDate>Thu, 15 Jun 2017 17:29:17 +0800</pubDate><description><![CDATA[客户端程序访问数据库都需要一个连接数据库的用户名和密码，这个用户一般是DBA帮RD创建。根据安全级别的不同，每个团队都会有不同的授权方式。我们在用户访问数据库安全方面也制定了一套规则：1）读写账号只能有SELECT，DELETE，UPDATE，INSERT权限。 2）用户的白名单IP不能是一个网络，必须是一个IP。3）白名单IP必须是线上的服务器IP，不能是个人测试机IP。
对于白名单IP不能是]]></description><category></category></item><item><title><![CDATA[读书笔记--InnoDB数据字典]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/72974424</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/72974424</guid><author>liuhanran</author><pubDate>Sat, 10 Jun 2017 08:48:17 +0800</pubDate><description><![CDATA[在InnoDB中，系统表实际上是看不到的，不像Oracle那样可以方便地通过一个查询语句就能得到其中的内容。因为MySQL是一个插件式的数据库管理系统。它的结构分为两层，分别是Server层和存储引擎层。最早的存储引擎是MyISAM，它是没有数据字典的，关于表结构，它拥有的只有.frm文件，所以这导致了InnoDB也必须要有这个文件才使得Server层识别并管理它。对于Server层，一个表是什么]]></description><category></category></item><item><title><![CDATA[读书笔记--MySQL 表对象缓存]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/72823348</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/72823348</guid><author>liuhanran</author><pubDate>Wed, 31 May 2017 20:03:23 +0800</pubDate><description><![CDATA[表对象缓存
    表对象缓存，是将某个表对象的字典信息缓存到内存中，用来提高对表访问的效率。某个表被访问过一次后，在服务器没有关闭且表定义没有被修改的条件下，访问这个表时，只需要从内存中找到这个已经缓存起来的对象并做相应的操作，而不必每次从系统表中读取它的定义并解析。表字典对象的缓存是通过HASH表来管理，通过表名(包括模式名)来构造一个HASH键值(Key)，用来从HASH表中搜索对象。]]></description><category></category></item><item><title><![CDATA[关联字段字符集相同，但是校验规则不一样，导致表关联时做隐式转换，无法用到关联字段上的索引]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/70929747</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/70929747</guid><author>liuhanran</author><pubDate>Fri, 28 Apr 2017 18:12:45 +0800</pubDate><description><![CDATA[﻿﻿
同类型的case还有 关联字段字符集不一样，导致表关联时做隐式转换，无法用到关联字段上的索引
案例分析如下：

有2个表act_hi_comment，bpm_task_result，建表语句如下


CREATE TABLE `act_hi_comment` (
  `ID_` varchar(64) COLLATE utf8_bin NOT NULL,
  `TYPE_`]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--慢日志展示平台]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/70306330</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/70306330</guid><author>liuhanran</author><pubDate>Thu, 20 Apr 2017 22:45:26 +0800</pubDate><description><![CDATA[作为DBA来说经常与数据库的慢日志打交道，传统的慢日志一般都是文本方式存在，很多公司为了使慢日志可视化，平台化，服务化，都会考虑使用Anemometer开源平台实现。当然这边不会介绍Anemometer，网上有很多资料可以查阅。


今天主要介绍一款我们自个开发的慢日志平台，为什么不用开源的呢，那样不是少很多的开发工作量。其实我们也用过，发现用它的成本有点高，易用行不好，开放给开发后他们还是]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--自助DML]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/70239603</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/70239603</guid><author>liuhanran</author><pubDate>Wed, 19 Apr 2017 13:58:05 +0800</pubDate><description><![CDATA[今天介绍下最近开发的一个平台，自助DML。什么是DML，就是平常执行的增删改查数据库操作。有人有疑问这不是程序访问的操作，为什么还要做一个平台操作这些呢，其实这种操作主要是开发需要线下修复数据的一种操作，不只是增删改，还有建表，建索引，添加字段等，这些操作开发一般会提给DBA协助操作数据库。可能你会觉得这些活能有多少，其实这种活真不少，我上家公司是电商互联网公司，大概有七八百个实例，每天的这种操作有近百个。处理近百个这种需求，基本上一个人一天就不用干别的了。虽说现在的公司实例少点，但每天的工作量还是很大，关]]></description><category></category></item><item><title><![CDATA[sysbench IO测试]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/70238521</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/70238521</guid><author>liuhanran</author><pubDate>Wed, 19 Apr 2017 11:27:43 +0800</pubDate><description><![CDATA[近期在一些简单的sysbench IO测试中, 遇到了一些不合常识的测试结果. 从结果看, 虽然不是有实际意义的测试结果, 但探索过程中, 利用到了Systemtap进行观测(动态追踪), 可在其他分析中借用.


测试环境准备

运行前, 通过echo 1 > /proc/sys/vm/drop_caches清理IO cache运行前, 通过iostat -x -p {dev} 1确认]]></description><category></category></item><item><title><![CDATA[INNODB并发线程数]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/70214586</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/70214586</guid><author>liuhanran</author><pubDate>Mon, 17 Apr 2017 18:31:15 +0800</pubDate><description><![CDATA[innodb_thread_concurrencyINNODB存储引擎中允许的最大的线程并发数。innodb_thread_sleep_delay单位为毫秒；thread未能进入INNODB存储引擎后，需要等待innodb_thread_sleep_delay毫秒再次尝试进入。innodb_concurrency_ticketsthread进入INNODB中，会获得innodb_concurrenc]]></description><category></category></item><item><title><![CDATA[数据库自动化运维平台--元数据平台]]></title><link>https://blog.youkuaiyun.com/liuhanran/article/details/70142849</link><guid>https://blog.youkuaiyun.com/liuhanran/article/details/70142849</guid><author>liuhanran</author><pubDate>Wed, 12 Apr 2017 15:00:08 +0800</pubDate><description><![CDATA[数据库元数据平台

很多DBA可能都用过Excel来维护数据库集群列表，在公司数据库集群规模比较小，用这种方式维护也是很简单方便的。但随着数据实例越来越多达到了上百上千的时候，再用这种方式维护就要崩溃了。所以一旦集群上了规模，每个公司都要开发类似CMDB的平台来维护集群信息 。由于本人所在的DBA部门开发资源有限，所以自个也花一个月的时间学习的相关知识，开发了一款MySQL元数据平台，希望能给做平]]></description><category></category></item></channel></rss>