<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>所有文章 - DBA学习笔记</title><link>https://blog.zhangjt.fun/posts/</link><description>所有文章 | DBA学习笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>281304173@qq.com (张天师)</managingEditor><webMaster>281304173@qq.com (张天师)</webMaster><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Tue, 20 Oct 2026 10:26:01 +0800</lastBuildDate><atom:link href="https://blog.zhangjt.fun/posts/" rel="self" type="application/rss+xml"/><item><title>Linux端口转发方式</title><link>https://blog.zhangjt.fun/linux-port-proxy/</link><pubDate>Wed, 18 May 2022 23:52:08 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/linux-port-proxy/</guid><description><![CDATA[<h2 id="ssh端口转发模式" class="headerLink">
    <a href="#ssh%e7%ab%af%e5%8f%a3%e8%bd%ac%e5%8f%91%e6%a8%a1%e5%bc%8f" class="header-mark"></a>7. ssh端口转发模式</h2><blockquote>
<p>这种方式，有以下特点：</p>
<ol>
<li>可以在本地执行，也可以在服务器执行，部署方案灵活；</li>
<li>通信会经过ssh加密，安全性好；</li>
<li>同样是因为经过ssh加密，所以性能比较低</li>
</ol></blockquote>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">ssh -L <span class="si">${</span><span class="nv">local_port</span><span class="si">}</span>:<span class="si">${</span><span class="nv">server_ip</span><span class="si">}</span>:<span class="si">${</span><span class="nv">server_port</span><span class="si">}</span> -fN root@<span class="si">${</span><span class="nv">proxy_ip</span><span class="si">}</span>
</span></span></code></pre></div><h2 id="xinetd-端口转发" class="headerLink">
    <a href="#xinetd-%e7%ab%af%e5%8f%a3%e8%bd%ac%e5%8f%91" class="header-mark"></a>8. <em>xinetd</em> 端口转发</h2><blockquote>
<ol>
<li>没有加密，性能高；</li>
<li>在应用层转发，不需要root权限</li>
</ol></blockquote>
<ul>
<li>
<p>安装xinetd：<code>yum install -y xinetd</code></p>]]></description></item><item><title>MySQL搭建Group Replicatiion</title><link>https://blog.zhangjt.fun/install-mysql-group-replication/</link><pubDate>Fri, 20 May 2022 15:55:22 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/install-mysql-group-replication/</guid><description><![CDATA[<h2 id="1-安装mysq5719" class="headerLink">
    <a href="#1-%e5%ae%89%e8%a3%85mysq5719" class="header-mark"></a>9. 1. 安装MySQ(&gt;=5.7.19)</h2><p>具体安装方法，请<a href="http://www.baidu.com" target="_blank" rel="noopener noreferrer">百度</a>或<a href="http://www.google.com" target="_blank" rel="noopener noreferrer">Google</a></p>
<h2 id="2-gr准备工作" class="headerLink">
    <a href="#2-gr%e5%87%86%e5%a4%87%e5%b7%a5%e4%bd%9c" class="header-mark"></a>10. 2. GR准备工作</h2><h3 id="1-更改配置文件" class="headerLink">
    <a href="#1-%e6%9b%b4%e6%94%b9%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6" class="header-mark"></a>10.1. 1. 更改配置文件</h3><blockquote>
<p><code>loose-</code>为配置前缀，后边才是变量名。
正常情况下配置文件里参数是必须可用的，也就是必须先安装插件，后改配置文件，否则MySQL启动时会报错。加<code>loose-</code>前缀后，如果参数不存在，会先忽略报错，待插件安装后，会自动将对应参数设置为配置文件的值。</p>]]></description></item><item><title>MySQL在线更改Binlog目录</title><link>https://blog.zhangjt.fun/online-change-binlog-dir/</link><pubDate>Fri, 20 May 2022 22:07:16 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/online-change-binlog-dir/</guid><description><![CDATA[<h2 id="背景" class="headerLink">
    <a href="#%e8%83%8c%e6%99%af" class="header-mark"></a>1. 背景</h2><p>线上使用共享表空间，因共享表空间没办法释放，导致磁盘可用空间太小，所以新找几台机器，重新导出导入，将业务迁移到新机器上。<br>
因需要从备机导数据，需要保留binlog个数不固定，为避免导数机器被binlog撑满，将其他磁盘的目录挂载到binlog目录。</p>]]></description></item><item><title>HUGO主题相关内容</title><link>https://blog.zhangjt.fun/deploy-blog-with-hugo/</link><pubDate>Sun, 22 May 2022 16:11:36 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/deploy-blog-with-hugo/</guid><description><![CDATA[<h2 id="安装主题" class="headerLink">
    <a href="#%e5%ae%89%e8%a3%85%e4%b8%bb%e9%a2%98" class="header-mark"></a>1. 安装主题</h2><p>安装主题可以通过两种途径：</p>
<ol>
<li>直接下载主题的ZIP文件，将文件解压到theme目录下。</li>
<li>通过<code>git submodel</code>方式，将主题作为git子模块来管理。</li>
</ol>
<blockquote>
<p>建议通过<code>git submodel</code>方式来管理，这样后续主题有更新，直接通过<code>git submodel</code>来更新即可。</p>]]></description></item><item><title>一次TiDB负载搞排查</title><link>https://blog.zhangjt.fun/tidb-high-cpu-usage/</link><pubDate>Tue, 24 May 2022 16:11:36 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/tidb-high-cpu-usage/</guid><description><![CDATA[<h2 id="背景" class="headerLink">
    <a href="#%e8%83%8c%e6%99%af" class="header-mark"></a>1. 背景</h2><ul>
<li>TiDB Server两个节点CPU使用率都比较高
<figure><a class="lightgallery" href="/images/posts/tidb-high-cpu-usage/cpu-usage-nodes.svg" title="TiDB Server 两个节点 CPU 使用率" data-thumbnail="/images/posts/tidb-high-cpu-usage/cpu-usage-nodes.svg">
        <img
            
            loading="lazy"
            src="/images/posts/tidb-high-cpu-usage/cpu-usage-nodes.svg"
            srcset="/images/posts/tidb-high-cpu-usage/cpu-usage-nodes.svg, /images/posts/tidb-high-cpu-usage/cpu-usage-nodes.svg 1.5x, /images/posts/tidb-high-cpu-usage/cpu-usage-nodes.svg 2x"
            sizes="auto"
            alt="TiDB Server 两个节点 CPU 使用率">
    </a></figure></li>
<li>查看QPS指标，可以看到14点到19点之间是基本没有流量的
<figure><a class="lightgallery" href="/images/posts/tidb-high-cpu-usage/qps-metrics.svg" title="QPS 指标，14 点到 19 点基本无流量" data-thumbnail="/images/posts/tidb-high-cpu-usage/qps-metrics.svg">
        <img
            
            loading="lazy"
            src="/images/posts/tidb-high-cpu-usage/qps-metrics.svg"
            srcset="/images/posts/tidb-high-cpu-usage/qps-metrics.svg, /images/posts/tidb-high-cpu-usage/qps-metrics.svg 1.5x, /images/posts/tidb-high-cpu-usage/qps-metrics.svg 2x"
            sizes="auto"
            alt="QPS 指标，14 点到 19 点基本无流量">
    </a></figure></li>
<li>登陆机器可以发现，有很多连接其实已经失效，但是还残留服务器上：
<figure><a class="lightgallery" href="/images/posts/tidb-high-cpu-usage/stale-connections.svg" title="服务器上残留的失效连接" data-thumbnail="/images/posts/tidb-high-cpu-usage/stale-connections.svg">
        <img
            
            loading="lazy"
            src="/images/posts/tidb-high-cpu-usage/stale-connections.svg"
            srcset="/images/posts/tidb-high-cpu-usage/stale-connections.svg, /images/posts/tidb-high-cpu-usage/stale-connections.svg 1.5x, /images/posts/tidb-high-cpu-usage/stale-connections.svg 2x"
            sizes="auto"
            alt="服务器上残留的失效连接">
    </a></figure></li>
<li>怀疑Server负载高和这些诡异的SQL有关系，即便没有释放，也没办法KILL，但是还是占用了一个核的CPU
<figure><a class="lightgallery" href="/images/posts/tidb-high-cpu-usage/2022-05-29-mxWOpSfh5PwAsbL.png" title="20220529204849" data-thumbnail="/images/posts/tidb-high-cpu-usage/2022-05-29-mxWOpSfh5PwAsbL.png">
        <img
            
            loading="lazy"
            src="/images/posts/tidb-high-cpu-usage/2022-05-29-mxWOpSfh5PwAsbL.png"
            srcset="/images/posts/tidb-high-cpu-usage/2022-05-29-mxWOpSfh5PwAsbL.png, /images/posts/tidb-high-cpu-usage/2022-05-29-mxWOpSfh5PwAsbL.png 1.5x, /images/posts/tidb-high-cpu-usage/2022-05-29-mxWOpSfh5PwAsbL.png 2x"
            sizes="auto"
            alt="20220529204849">
    </a></figure>
<ul>
<li><a href="https://github.com/pingcap/tidb/pull/29212" target="_blank" rel="noopener noreferrer">https://github.com/pingcap/tidb/pull/29212</a></li>
<li><a href="https://github.com/pingcap/tidb/issues/24031" target="_blank" rel="noopener noreferrer">https://github.com/pingcap/tidb/issues/24031</a></li>
</ul>
</li>
</ul>
<h2 id="解决方案" class="headerLink">
    <a href="#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88" class="header-mark"></a>2. 解决方案</h2><ol>
<li>
<p>将流量转移到其他机器，可选途径有：</p>]]></description></item><item><title>待填的坑</title><link>https://blog.zhangjt.fun/todo-list/</link><pubDate>Tue, 24 May 2022 17:13:01 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/todo-list/</guid><description><![CDATA[<p>最近刚开始写blog，需要抽时间将之前的知识梳理一下，包括不限于：</p>
<ul>
<li>MySQL</li>
<li>TiDB</li>
<li>Linux相关：ZFS, Openwrt等</li>
<li>编程语言：SHELL, Python, Golang等</li>
<li>工具类：Shadowsocks, Minio, NextCloud</li>
<li>Mac:  MarkText</li>
<li>博客: Caddy, Hugo, Picgo</li>
</ul>
<blockquote>
<p>PS: 不一定能写完，看情况吧🙈</p>]]></description></item><item><title>Caddy泛域名配置 &amp;&amp; hugo自动更新</title><link>https://blog.zhangjt.fun/caddy-wildcard-certificates/</link><pubDate>Fri, 08 Jul 2022 15:43:45 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/caddy-wildcard-certificates/</guid><description><![CDATA[<h2 id="背景" class="headerLink">
    <a href="#%e8%83%8c%e6%99%af" class="header-mark"></a>3. 背景</h2><p>在腾讯云买了个轻量服务器，就想部署一些self-hosted服务，带来的一个后果就是要配多个域名，申请多套SSL证书。一开始还好，很快就能申请好，不过随着域名的增多，有时候新加域名得等一段时间才能申请成功。
好在caddy是支持泛域名证书(Wildcard certificates)：</p>]]></description></item><item><title>MySQL slow_log日志采集方案</title><link>https://blog.zhangjt.fun/mysql-slowlog-log-collection-solution-zno9g7/</link><pubDate>Tue, 23 Jan 2024 15:24:10 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/mysql-slowlog-log-collection-solution-zno9g7/</guid><description><![CDATA[<h1 id="1-mysql-slow_log日志采集方案" class="headerLink">
    <a href="#1-mysql-slow_log%e6%97%a5%e5%bf%97%e9%87%87%e9%9b%86%e6%96%b9%e6%a1%88" class="header-mark"></a>1 MySQL slow_log日志采集方案</h1><h2 id="11-背景" class="headerLink">
    <a href="#11-%e8%83%8c%e6%99%af" class="header-mark"></a>1. 1.1 背景</h2><p>慢查询对线上的影响很大，而慢日志是发现慢查询SQL的最常用手段，所以对慢日志的收集和监控，是作为一个DBA的最常见需求。下面介绍一下常见的慢日志收集方案</p>]]></description></item><item><title>常用MySQL命令</title><link>https://blog.zhangjt.fun/commonly-used-mysql-commands-zigvyw/</link><pubDate>Tue, 23 Jan 2024 15:24:38 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/commonly-used-mysql-commands-zigvyw/</guid><description><![CDATA[<ul>
<li>
<p><strong>将某个字段/binary类型转换为utf8字符集的方法</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">CONVERT</span><span class="p">(</span><span class="n">job_meta</span><span class="w"> </span><span class="k">USING</span><span class="w"> </span><span class="n">utf8</span><span class="p">)</span><span class="w"> </span><span class="k">COLLATE</span><span class="w"> </span><span class="n">utf8_unicode_ci</span><span class="w">
</span></span></span></code></pre></div></li>
<li>
<p><strong>统计BINLOG中EVENT分布</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># 按照时间段解析BINLOG</span>
</span></span><span class="line"><span class="cl">mysqlbinlog -vv --start-datetime <span class="s2">&#34;2022-04-01 03:02:00&#34;</span> --stop-datetime <span class="s2">&#34;2022-04-01 03:08:00&#34;</span> mysql-bin.002572 &gt;2572.txt
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 将BINLOG过滤指定EVENT名到文件中</span>
</span></span><span class="line"><span class="cl">cat 2572.txt <span class="p">|</span> grep -E <span class="s2">&#34;^SET TIMESTAMP|### (INSERT|UPDATE|DELETE)&#34;</span> &gt;table.txt
</span></span><span class="line"><span class="cl"><span class="c1"># 查看单个事务的更改行数</span>
</span></span><span class="line"><span class="cl">uniq -c table.txt
</span></span><span class="line"><span class="cl"><span class="c1"># 统计某个时间段EVENT分布情况</span>
</span></span><span class="line"><span class="cl">sort table.txt <span class="p">|</span> uniq -c <span class="p">|</span> sort -n -k1
</span></span></code></pre></div></li>
<li>
<p><strong>删除非系统库表</strong></p>]]></description></item><item><title>TiDB抖动排查路径</title><link>https://blog.zhangjt.fun/tidb-jitter-troubleshooting-path-byxrq/</link><pubDate>Tue, 23 Jan 2024 15:24:54 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/tidb-jitter-troubleshooting-path-byxrq/</guid><description><![CDATA[<h2 id="1-select执行流程" class="headerLink">
    <a href="#1-select%e6%89%a7%e8%a1%8c%e6%b5%81%e7%a8%8b" class="header-mark"></a>1. 1 select执行流程</h2><p>![Pasted image 20220321114021](/images/Pasted image 20220321114021-20240129144045-s624cfz.png)</p>
<h2 id="2-insert流程" class="headerLink">
    <a href="#2-insert%e6%b5%81%e7%a8%8b" class="header-mark"></a>2. 2 INSERT流程</h2><p>![Pasted image 20220321114035](/images/Pasted image 20220321114035-20240129144052-i7qn7ko.png)</p>
<h3 id="21-落盘步骤" class="headerLink">
    <a href="#21-%e8%90%bd%e7%9b%98%e6%ad%a5%e9%aa%a4" class="header-mark"></a>2.1. 2.1 落盘步骤</h3><p>![Pasted image 20220321115327](/images/Pasted image 20220321115327-20240129144108-eo5bsv8.png)</p>
<p>‍</p>
<h2 id="3-故障排查流程" class="headerLink">
    <a href="#3-%e6%95%85%e9%9a%9c%e6%8e%92%e6%9f%a5%e6%b5%81%e7%a8%8b" class="header-mark"></a>3. 3 故障排查流程​​</h2><p>![Pasted image 20220321114826](/images/Pasted image 20220321114826-20240129144058-zqatg1q.png)</p>]]></description></item><item><title>2026-10-20-Tue</title><link>https://blog.zhangjt.fun/20261020tue-z1qdqfz/</link><pubDate>Tue, 20 Oct 2026 10:26:01 +0800</pubDate><author><name>张天师</name></author><guid>https://blog.zhangjt.fun/20261020tue-z1qdqfz/</guid><description><![CDATA[<h1 id="2026-10-20-tue" class="headerLink">
    <a href="#2026-10-20-tue" class="header-mark"></a>2026-10-20-Tue</h1><p>🕐 <strong>创建时间</strong>：​<code>2026-10-20 10:26 星期二</code></p>
<p>距离 ​<code>2027-01-01</code>​ 还剩 ​<code>72</code> 天，加油！</p>
<blockquote>
<h3 id="本周规划" class="headerLink">
    <a href="#%e6%9c%ac%e5%91%a8%e8%a7%84%e5%88%92" class="header-mark"></a>0.1. 本周规划</h3><ul>
<li>
<p><i class="far fa-square fa-fw"></i> **<u>慢查询诊断</u>**继续完善，要至少能对单个 SQL 做出比较准确的判断，能给出诊断案例，并给出下一步操作方案，并正确路由到后续跟进者</p>]]></description></item></channel></rss>