Site updated: 2023-09-09 23:00:34
This commit is contained in:
1 parent
640dd11dcc
commit
2792046524
176 files changed
+340
-348
No files matched your search
@@ -10,8 +10,8 @@
|
||||
</author>
|
||||
<description>天生我材必有用</description>
|
||||
<language>zh-CN</language>
|
||||
<pubDate>Sat, 08 Jul 2023 10:51:00 +0800</pubDate>
|
||||
<lastBuildDate>Sat, 08 Jul 2023 10:51:00 +0800</lastBuildDate>
|
||||
<pubDate>Sat, 09 Sep 2023 16:48:17 +0800</pubDate>
|
||||
<lastBuildDate>Sat, 09 Sep 2023 16:48:17 +0800</lastBuildDate>
|
||||
<category term="hito" />
|
||||
<category term="無言" />
|
||||
<category term="博客" />
|
||||
@@ -20,6 +20,82 @@
|
||||
<category term="心得体会" />
|
||||
<category term="技术分享" />
|
||||
<category term="踩坑" />
|
||||
<item>
|
||||
<guid isPermalink="true">https://hitoli.com/2023/09/09/squid-stunnel-%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/</guid>
|
||||
<title>squid+stunnel 科学上网</title>
|
||||
<link>https://hitoli.com/2023/09/09/squid-stunnel-%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/</link>
|
||||
<pubDate>Sat, 09 Sep 2023 16:48:17 +0800</pubDate>
|
||||
<description><![CDATA[ <h6 id="前言"><a class="anchor" href="#前言">#</a> 前言</h6>
|
||||
<p>科学上网的方法有多重,有很多第三方提供的免费方案,这些方案优缺点暂时不予讨论。实际工作生活中还是会有需要自己搭建的情况,这次介绍的是使用 squid+stunnel 方案进行搭建。</p>
|
||||
<h6 id="准备"><a class="anchor" href="#准备">#</a> 准备</h6>
|
||||
<p>一台可以访问外网的服务器,如香港的云主机并安装 Ubuntu 系统。</p>
|
||||
<h6 id="squid部分"><a class="anchor" href="#squid部分">#</a> squid 部分</h6>
|
||||
<ul>
|
||||
<li>1、安装</li>
|
||||
</ul>
|
||||
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> squid</pre></td></tr></table></figure><ul>
|
||||
<li>2、配置</li>
|
||||
</ul>
|
||||
<div class="note info">
|
||||
<p>生成用户文件</p>
|
||||
</div>
|
||||
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token function">apt-get</span> <span class="token function">install</span> apache2-utils</pre></td></tr><tr><td data-num="2"></td><td><pre>htpasswd <span class="token parameter variable">-c</span> /etc/squid/squid_user.txt 用户名</pre></td></tr></table></figure><div class="note info">
|
||||
<p>修改 squid 配置<br />
|
||||
1、直接修改 /etc/squid/squid.conf 文件<br />
|
||||
2、修改 /etc/squid/conf.d/debian.conf 文件<br />
|
||||
两种方式都一样,在底部加入以下代码</p>
|
||||
</div>
|
||||
<figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token comment">#dns 服务器地址</span></pre></td></tr><tr><td data-num="2"></td><td><pre>dns_nameservers 8.8.8.8 8.8.4.4</pre></td></tr><tr><td data-num="3"></td><td><pre>dns_v4_first on</pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token comment"># 监听端口</span></pre></td></tr><tr><td data-num="5"></td><td><pre>http_port 3128</pre></td></tr><tr><td data-num="6"></td><td><pre><span class="token comment"># 定义 squid 密码文件与 ncsa_auth 文件位置</span></pre></td></tr><tr><td data-num="7"></td><td><pre>auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_user.txt</pre></td></tr><tr><td data-num="8"></td><td><pre><span class="token comment"># 认证进程的数量</span></pre></td></tr><tr><td data-num="9"></td><td><pre>auth_param basic children 15</pre></td></tr><tr><td data-num="10"></td><td><pre><span class="token comment"># 认证对话框显示提示信息</span></pre></td></tr><tr><td data-num="11"></td><td><pre>auth_param basic realm Squid proxy<span class="token punctuation">-</span>caching web server</pre></td></tr><tr><td data-num="12"></td><td><pre><span class="token comment"># 认证有效期</span></pre></td></tr><tr><td data-num="13"></td><td><pre>auth_param basic credentialsttl 24 hours</pre></td></tr><tr><td data-num="14"></td><td><pre><span class="token comment"># 是否区分用户名大小,off 为不区分</span></pre></td></tr><tr><td data-num="15"></td><td><pre>auth_param basic casesensitive off</pre></td></tr><tr><td data-num="16"></td><td><pre><span class="token comment"># 对定义的 squid_user 文件内的用户开启认证访问</span></pre></td></tr><tr><td data-num="17"></td><td><pre>acl 用户名 proxy_auth REQUIRED</pre></td></tr><tr><td data-num="18"></td><td><pre><span class="token comment"># 允许 squid_user 文件内用户进行代理</span></pre></td></tr><tr><td data-num="19"></td><td><pre>http_access allow 用户名</pre></td></tr><tr><td data-num="20"></td><td><pre><span class="token comment"># 顺序匹配,最后添加拒绝所有未允许的规则。不添加会发现,未匹配到的规则会被放行</span></pre></td></tr><tr><td data-num="21"></td><td><pre>http_access deny all</pre></td></tr><tr><td data-num="22"></td><td><pre><span class="token comment"># 缓存设置</span></pre></td></tr><tr><td data-num="23"></td><td><pre>cache_dir ufs /var/spool/squid 100 16 256 read<span class="token punctuation">-</span>only</pre></td></tr><tr><td data-num="24"></td><td><pre>cache_mem 0 MB</pre></td></tr><tr><td data-num="25"></td><td><pre>coredump_dir /var/spool/squid</pre></td></tr><tr><td data-num="26"></td><td><pre><span class="token comment"># 配置高匿,不允许设置任何多余头信息,保持原请求 header。</span></pre></td></tr><tr><td data-num="27"></td><td><pre>header_access Via deny all</pre></td></tr><tr><td data-num="28"></td><td><pre>header_access X<span class="token punctuation">-</span>Forwarded<span cLine truncated
|
||||
<p>至次已经可以通过填写安装 squid 的服务器 ip 加端口 3128 加用户名密码进行代理访问了(通过访问<span class="blue"><span class="exturl" data-url="aHR0cHM6Ly93d3cuaXAuY24v"> https://www.ip.cn/</span></span> 查看 ip 就会发现自己的出口 ip 已经变成了 squid 服务器的 ip 了)。但是要想科学上网还必须对代理的数据进行加密,否则访问外网还是会被我国的长城防火墙阻挡,所以还需要安装 stunnel 来实现此目的。</p>
|
||||
</div>
|
||||
<h6 id="stunnel服务端部分"><a class="anchor" href="#stunnel服务端部分">#</a> stunnel 服务端部分</h6>
|
||||
<ul>
|
||||
<li>1、安装(和 squid 装在一起)</li>
|
||||
</ul>
|
||||
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> stunnel</pre></td></tr></table></figure><ul>
|
||||
<li>2、生成 TLS/SSL 证书</li>
|
||||
</ul>
|
||||
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre>openssl req <span class="token parameter variable">-new</span> <span class="token parameter variable">-x509</span> <span class="token parameter variable">-days</span> <span class="token number">3650</span> <span class="token parameter variable">-nodes</span> <span class="token parameter variable">-out</span> stunnel.pem <span class="token parameter variable">-keyout</span> stunnel.pem</pre></td></tr></table></figure><ul>
|
||||
<li>
|
||||
<p>3、将证书 stunnel.pem 放到 /etc/stunnel/ 目录下</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>4、修改 stunnel 配置 (/etc/stunnle/stunnle.conf)</p>
|
||||
</li>
|
||||
</ul>
|
||||
<figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre>; 设置stunnel的pid文件路径</pre></td></tr><tr><td data-num="2"></td><td><pre>pid = /etc/stunnel/stunnel.pid</pre></td></tr><tr><td data-num="3"></td><td><pre>; 设置stunnel工作的用户(组)</pre></td></tr><tr><td data-num="4"></td><td><pre>setuid = root</pre></td></tr><tr><td data-num="5"></td><td><pre>setgid = root</pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre>; 开启日志等级:emerg (0)<span class="token punctuation">,</span> alert (1)<span class="token punctuation">,</span> crit (2)<span class="token punctuation">,</span> err (3)<span class="token punctuation">,</span> warning (4)<span class="token punctuation">,</span> notice (5)<span class="token punctuation">,</span> info (6)<span class="token punctuation">,</span> or debug (7)</pre></td></tr><tr><td data-num="8"></td><td><pre>debug = 7</pre></td></tr><tr><td data-num="9"></td><td><pre>; 日志文件路径</pre></td></tr><tr><td data-num="10"></td><td><pre>output = /etc/stunnel/stunnel.log</pre></td></tr><tr><td data-num="11"></td><td><pre></pre></td></tr><tr><td data-num="12"></td><td><pre>; 证书文件</pre></td></tr><tr><td data-num="13"></td><td><pre>cert = /etc/stunnel/stunnel.pem</pre></td></tr><tr><td data-num="14"></td><td><pre>; 私钥文件</pre></td></tr><tr><td data-num="15"></td><td><pre>key = /etc/stunnel/stunnel.pem</pre></td></tr><tr><td data-num="16"></td><td><pre></pre></td></tr><tr><td data-num="17"></td><td><pre>; 自定义服务名squid<span class="token punctuation">-</span>proxy</pre></td></tr><tr><td data-num="18"></td><td><pre><span class="token punctuation">[</span>squid<span class="token punctuation">-</span>proxy<span class="token punctuation">]</span></pre></td></tr><tr><td data-num="19"></td><td><pre>; 服务监听的端口,client要连接这个端口与server通信</pre></td></tr><tr><td data-num="20"></td><td><pre>accept = 1234(自定义)</pre></td></tr><tr><td data-num="21"></td><td><pre>; 服务要连接的端口,连接到squid的3128端口,将数据发给squid</pre></td></tr><tr><td data-num="22"></td><td><pre>connect = 3128</pre></td></tr></table></figure><h6 id="stunnel客户端部分"><a class="anchor" href="#stunnel客户端部分">#</a> stunnel 客户端部分</h6>
|
||||
<div class="note info">
|
||||
<p>可以安装在要代理的机器上,在需要代理的情况下再开启(代理地址填 127.0.0.1 加客户端监听端口)。也可以安装在国内的服务器上一直保持连接(代理信息填国内服务器 ip 加客户端监听端口)。本示例客户端为 windows 系统</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li>1、下载地址</li>
|
||||
</ul>
|
||||
<p><span class="blue"><span class="exturl" data-url="aHR0cHM6Ly93d3cuc3R1bm5lbC5vcmcvZG93bmxvYWRzLmh0bWw=">https://www.stunnel.org/downloads.html</span></span></p>
|
||||
<ul>
|
||||
<li>2、修改配置(C:\Program Files (x86)\stunnel\config\stunnel.conf)</li>
|
||||
</ul>
|
||||
<figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token punctuation">[</span>squid<span class="token punctuation">-</span>proxy<span class="token punctuation">]</span></pre></td></tr><tr><td data-num="2"></td><td><pre>client = yes</pre></td></tr><tr><td data-num="3"></td><td><pre>; 监听3128端口,那么用户浏览器的代理设置就是 stunnel<span class="token punctuation">-</span>client<span class="token punctuation">-</span>ip<span class="token punctuation">:</span><span class="token number">3128</span></pre></td></tr><tr><td data-num="4"></td><td><pre>accept = 3128</pre></td></tr><tr><td data-num="5"></td><td><pre>; 要连接到的stunnel server的ip与端口</pre></td></tr><tr><td data-num="6"></td><td><pre>connect = stunnel服务端ip<span class="token punctuation">:</span>1234(服务端自定义端口)</pre></td></tr><tr><td data-num="7"></td><td><pre></pre></td></tr><tr><td data-num="8"></td><td><pre>; 需要验证对方发过来的证书</pre></td></tr><tr><td data-num="9"></td><td><pre>verify = 2</pre></td></tr><tr><td data-num="10"></td><td><pre>; 用来进行证书验证的文件(stunnel服务端生成的证书复制到以下目录并改名为stunnel<span class="token punctuation">-</span>server.pem)</pre></td></tr><tr><td data-num="11"></td><td><pre>CAfile = C<span class="token punctuation">:</span>\Program Files (x86)\stunnel\config\stunnel<span class="token punctuation">-</span>server.pem</pre></td></tr></table></figure><div class="note primary">
|
||||
<p>至次配置好代理 ip 为 stunnel 客户端 ip 加端口 3128 就可以正式科学上网了。如果只想对需要科学的 url 进行代理,可以通过安装 Proxy SwitchyOmega 插件实现(规则地址可通过<span class="blue"><span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL2dmd2xpc3QvZ2Z3bGlzdA=="> https://github.com/gfwlist/gfwlist</span></span> 获取)。</p>
|
||||
</div>
|
||||
<p><img data-src="https://nas.hitoli.com:18014/images/2023/09/09/6a38fcb32752.png" alt="" /><br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2023/09/09/72892168bfeb.png" alt="" /></p>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<guid isPermalink="true">https://hitoli.com/2023/09/09/Windows-11%E5%8F%B3%E9%94%AE%E8%8F%9C%E5%8D%95%E6%81%A2%E5%A4%8D%E8%80%81%E7%89%88%E6%9C%AC/</guid>
|
||||
<title>Windows 11右键菜单恢复老版本</title>
|
||||
<link>https://hitoli.com/2023/09/09/Windows-11%E5%8F%B3%E9%94%AE%E8%8F%9C%E5%8D%95%E6%81%A2%E5%A4%8D%E8%80%81%E7%89%88%E6%9C%AC/</link>
|
||||
<category term="Windows " scheme="https://hitoli.com/categories/Windows/" />
|
||||
<category term="Windows 11" scheme="https://hitoli.com/tags/Windows-11/" />
|
||||
<pubDate>Sat, 09 Sep 2023 16:38:00 +0800</pubDate>
|
||||
<description><![CDATA[ <h6 id="恢复方法"><a class="anchor" href="#恢复方法">#</a> 恢复方法</h6>
|
||||
<p>1、按【Win+X】</p>
|
||||
<p>2、选择【终端管理员】</p>
|
||||
<p>3、输入以下命令并回车:<br />
|
||||
<code>reg add &quot;HKCU\Software\Classes\CLSID\&#123;86ca1aa0-34aa-4e8b-a509-50c905bae2a2&#125;\InprocServer32&quot; /f /ve</code></p>
|
||||
<p>4、重启电脑</p>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<guid isPermalink="true">https://hitoli.com/2023/07/08/%E8%A7%A3%E5%86%B3Lombok%E6%8A%A5%E9%94%99/</guid>
|
||||
<title>解决Lombok报错</title>
|
||||
@@ -203,7 +279,7 @@ Lombok supports: OpenJDK javac, ECJ</p>
|
||||
<category term="命令" scheme="https://hitoli.com/tags/%E5%91%BD%E4%BB%A4/" />
|
||||
<pubDate>Sun, 16 Apr 2023 13:32:00 +0800</pubDate>
|
||||
<description><![CDATA[ <h4 id="日常命令记录"><a class="anchor" href="#日常命令记录">#</a> 日常命令记录</h4>
|
||||
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token comment">#windows 系统修复</span></pre></td></tr><tr><td data-num="2"></td><td><pre>DISM.exe /Online /Cleanup-image /Scanhealth</pre></td></tr><tr><td data-num="3"></td><td><pre>DISM.exe /Online /Cleanup-image /Restorehealth </pre></td></tr><tr><td data-num="4"></td><td><pre>sfc /scannow</pre></td></tr><tr><td data-num="5"></td><td><pre></pre></td></tr><tr><td data-num="6"></td><td><pre><span class="token comment">#windows 网络修复</span></pre></td></tr><tr><td data-num="7"></td><td><pre>netsh winsock reset</pre></td></tr><tr><td data-num="8"></td><td><pre></pre></td></tr><tr><td data-num="9"></td><td><pre><span class="token comment">#合并 ts 文件</span></pre></td></tr><tr><td data-num="10"></td><td><pre>copy /b c:<span class="token punctuation">\</span>Users<span class="token punctuation">\</span>hito<span class="token punctuation">\</span>Downloads<span class="token punctuation">\</span>*.ts d:<span class="token punctuation">\</span><span class="token number">50</span>.mp4</pre></td></tr><tr><td data-num="11"></td><td><pre></pre></td></tr><tr><td data-num="12"></td><td><pre><span class="token comment">#windows11 家庭版安装 Hyper-V(以下命令拷贝到 txt 文本后重命名为 bat 文件然后用管理员权限运行)</span></pre></td></tr><tr><td data-num="13"></td><td><pre><span class="token function">pushd</span> <span class="token string">"%~dp0"</span></pre></td></tr><tr><td data-num="14"></td><td><pre><span class="token function">dir</span> /b %SystemRoot%<span class="token punctuation">\</span>servicing<span class="token punctuation">\</span>Packages<span class="token punctuation">\</span>*Hyper-V*.mum <span class="token operator">>></span> hyper-v.txt</pre></td></tr><tr><td data-num="15"></td><td><pre><span class="token keyword">for</span> /f %%i <span class="token keyword">in</span> <span class="token punctuation">(</span><span class="token string">'findstr /i . hyper-v.txt 2^>nul'</span><span class="token punctuation">)</span> <span class="token keyword">do</span> dism /online /norestart /add-package:<span class="token string">"%SystemRoot%\servicing\Packages\%%i"</span></pre></td></tr><tr><td data-num="16"></td><td><pre>del hyper-v.txt</pre></td></tr><tr><td data-num="17"></td><td><pre>Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL</pre></td></tr><tr><td data-num="18"></td><td><pre></pre></td></tr><tr><td data-num="19"></td><td><pre><span class="token comment">#mysql 查看索引使用情况</span></pre></td></tr><tr><td data-num="20"></td><td><pre>EXPLAIN SELECT A.XXX, B.XXX FROM TABLE1 A, TABLE2 B ON A.XXX <span class="token operator">=</span> B.XXX<span class="token punctuation">;</span></pre></td></tr></table></figure> ]]></description>
|
||||
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token comment">#windows 系统修复</span></pre></td></tr><tr><td data-num="2"></td><td><pre>DISM.exe /Online /Cleanup-image /Scanhealth</pre></td></tr><tr><td data-num="3"></td><td><pre>DISM.exe /Online /Cleanup-image /Restorehealth </pre></td></tr><tr><td data-num="4"></td><td><pre>sfc /scannow</pre></td></tr><tr><td data-num="5"></td><td><pre></pre></td></tr><tr><td data-num="6"></td><td><pre><span class="token comment">#windows 网络修复</span></pre></td></tr><tr><td data-num="7"></td><td><pre>netsh winsock reset</pre></td></tr><tr><td data-num="8"></td><td><pre></pre></td></tr><tr><td data-num="9"></td><td><pre><span class="token comment">#合并 ts 文件</span></pre></td></tr><tr><td data-num="10"></td><td><pre>copy /b c:<span class="token punctuation">\</span>Users<span class="token punctuation">\</span>hito<span class="token punctuation">\</span>Downloads<span class="token punctuation">\</span>*.ts d:<span class="token punctuation">\</span><span class="token number">50</span>.mp4</pre></td></tr><tr><td data-num="11"></td><td><pre></pre></td></tr><tr><td data-num="12"></td><td><pre><span class="token comment">#windows11 家庭版安装 Hyper-V(以下命令拷贝到 txt 文本后重命名为 bat 文件然后用管理员权限运行)</span></pre></td></tr><tr><td data-num="13"></td><td><pre><span class="token function">pushd</span> <span class="token string">"%~dp0"</span></pre></td></tr><tr><td data-num="14"></td><td><pre><span class="token function">dir</span> /b %SystemRoot%<span class="token punctuation">\</span>servicing<span class="token punctuation">\</span>Packages<span class="token punctuation">\</span>*Hyper-V*.mum <span class="token operator">>></span> hyper-v.txt</pre></td></tr><tr><td data-num="15"></td><td><pre><span class="token keyword">for</span> /f %%i <span class="token keyword">in</span> <span class="token punctuation">(</span><span class="token string">'findstr /i . hyper-v.txt 2^>nul'</span><span class="token punctuation">)</span> <span class="token keyword">do</span> dism /online /norestart /add-package:<span class="token string">"%SystemRoot%\servicing\Packages\%%i"</span></pre></td></tr><tr><td data-num="16"></td><td><pre>del hyper-v.txt</pre></td></tr><tr><td data-num="17"></td><td><pre>Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL</pre></td></tr><tr><td data-num="18"></td><td><pre></pre></td></tr><tr><td data-num="19"></td><td><pre><span class="token comment">#mysql 查看索引使用情况</span></pre></td></tr><tr><td data-num="20"></td><td><pre>EXPLAIN SELECT A.XXX, B.XXX FROM TABLE1 A, TABLE2 B ON A.XXX <span class="token operator">=</span> B.XXX<span class="token punctuation">;</span></pre></td></tr><tr><td data-num="21"></td><td><pre></pre></td></tr><tr><td data-num="22"></td><td><pre><span class="token comment">#mysql 使用触发器插入数据自动生产 uuid 主键</span></pre></td></tr><tr><td data-num="23"></td><td><pre>inLine truncated
|
||||
</item>
|
||||
<item>
|
||||
<guid isPermalink="true">https://hitoli.com/2023/04/16/K8S%E9%A1%B9%E7%9B%AE%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E6%AD%A5%E9%AA%A4/</guid>
|
||||
@@ -570,79 +646,5 @@ Lombok supports: OpenJDK javac, ECJ</p>
|
||||
<figure class="highlight js"><figcaption data-lang="JavaScript"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token keyword">let</span> shortName <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>constant<span class="token punctuation">.</span>periodTypeEnum<span class="token punctuation">.</span><span class="token function">getNameByCode</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>klineType<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">' 合约2:'</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span>currentInstrumentId</pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token keyword">this</span><span class="token punctuation">.</span>chart<span class="token punctuation">.</span><span class="token function">addTechnicalIndicatorTemplate</span><span class="token punctuation">(</span><span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="3"></td><td><pre> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">'custom_candle_solid'</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="4"></td><td><pre> <span class="token literal-property property">shortName</span><span class="token operator">:</span> shortName<span class="token punctuation">,</span></pre></td></tr><tr><td data-num="5"></td><td><pre> <span class="token literal-property property">precision</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="6"></td><td><pre> <span class="token literal-property property">bar</span><span class="token operator">:</span> <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="7"></td><td><pre> <span class="token literal-property property">upColor</span><span class="token operator">:</span> <span class="token string">'#EF5350'</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="8"></td><td><pre> <span class="token literal-property property">downColor</span><span class="token operator">:</span> <span class="token string">'#26A69A'</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="9"></td><td><pre> <span class="token literal-property property">noChangeColor</span><span class="token operator">:</span> <span class="token string">'#888889'</span></pre></td></tr><tr><td data-num="10"></td><td><pre> <span class="token punctuation">&#125;</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="11"></td><td><pre> <span class="token literal-property property">plots</span><span class="token operator">:</span> <span class="token punctuation">[</span></pre></td></tr><tr><td data-num="12"></td><td><pre> <span class="token punctuation">&#123;</span> <span class="token literal-property property">key</span&gLine truncated
|
||||
<figure class="highlight js"><figcaption data-lang="JavaScript"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token keyword">this</span><span class="token punctuation">.</span>chart<span class="token punctuation">.</span><span class="token function">createTechnicalIndicator</span><span class="token punctuation">(</span><span class="token string">'custom_candle_solid'</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token punctuation">&#123;</span> <span class="token literal-property property">id</span><span class="token operator">:</span> <span class="token string">'paneId10'</span><span class="token punctuation">,</span> <span class="token literal-property property">dragEnabled</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token literal-property property">height</span><span class="token operator">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>height <span class="token punctuation">&#125;</span><span class="token punctuation">)</span></pre></td></tr></table></figure> ]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<guid isPermalink="true">https://hitoli.com/2022/11/21/mysql%E6%95%B0%E6%8D%AE%E5%BA%93auto-increment%E8%87%AA%E5%A2%9E%E9%95%BF%E4%B8%8D%E5%8F%98%E7%9A%84%E5%A4%84%E7%90%86%E6%96%B9%E6%B3%95/</guid>
|
||||
<title>mysql数据库auto_increment自增长不变的处理方法</title>
|
||||
<link>https://hitoli.com/2022/11/21/mysql%E6%95%B0%E6%8D%AE%E5%BA%93auto-increment%E8%87%AA%E5%A2%9E%E9%95%BF%E4%B8%8D%E5%8F%98%E7%9A%84%E5%A4%84%E7%90%86%E6%96%B9%E6%B3%95/</link>
|
||||
<category term="工作" scheme="https://hitoli.com/categories/%E5%B7%A5%E4%BD%9C/" />
|
||||
<category term="解决问题" scheme="https://hitoli.com/categories/%E5%B7%A5%E4%BD%9C/%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98/" />
|
||||
<category term="mysql" scheme="https://hitoli.com/tags/mysql/" />
|
||||
<pubDate>Mon, 21 Nov 2022 14:15:00 +0800</pubDate>
|
||||
<description><![CDATA[ <h4 id="问题描述"><a class="anchor" href="#问题描述">#</a> 问题描述</h4>
|
||||
<p>今天无意中发现原本能正常增加的 id 突然不变了,查看 sql 发现是取的对应表的自增 id。虽然存到表中的新数据自增 id 变化了,但返回的 id 总是不变。经过查询发现表的自增 id 是存在 information_schema 库中的 tables 表中。tables 表中存储了所有表的对应信息,其中有个 auto_increment 字段存储的就是对应表的下一个自增值。但是 mysql 在新版本中修改了此值的更新规则,老版本中是实时更新,新版本修改为 24 小时更新一次。为了不修改原代码中的逻辑,只能通过修改 mysql 配置使项目正常工作了。</p>
|
||||
<h4 id="解决办法"><a class="anchor" href="#解决办法">#</a> 解决办法</h4>
|
||||
<figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre>mysql数据库auto_increment自增长不变的处理方法</pre></td></tr><tr><td data-num="2"></td><td><pre>修改/etc/mysql/mysql.conf.d/mysqld.cnf</pre></td></tr><tr><td data-num="3"></td><td><pre>增加一行information_schema_stats_expiry = 0</pre></td></tr><tr><td data-num="4"></td><td><pre>保存后重启mysql</pre></td></tr><tr><td data-num="5"></td><td><pre>sudo systemctl restart mysql.service</pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre>查询是否生效</pre></td></tr><tr><td data-num="8"></td><td><pre>show global variables like 'information_schema_stats_expiry';</pre></td></tr><tr><td data-num="9"></td><td><pre>show session variables like 'information_schema_stats_expiry';</pre></td></tr></table></figure> ]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<guid isPermalink="true">https://hitoli.com/2022/11/13/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/</guid>
|
||||
<title>数据库管理工具</title>
|
||||
<link>https://hitoli.com/2022/11/13/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/</link>
|
||||
<category term="Windows" scheme="https://hitoli.com/categories/Windows/" />
|
||||
<category term="工具" scheme="https://hitoli.com/categories/Windows/%E5%B7%A5%E5%85%B7/" />
|
||||
<category term="mysql" scheme="https://hitoli.com/tags/mysql/" />
|
||||
<category term="数据库工具" scheme="https://hitoli.com/tags/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%B7%A5%E5%85%B7/" />
|
||||
<pubDate>Sun, 13 Nov 2022 17:31:00 +0800</pubDate>
|
||||
<description><![CDATA[ <h4 id="引言"><a class="anchor" href="#引言">#</a> 引言</h4>
|
||||
<ul>
|
||||
<li>很多朋友安装了 mysql 后不知道可以用工具管理,所以专门找了两个数据库管理工具方便大家使用。</li>
|
||||
</ul>
|
||||
<h4 id="navicat"><a class="anchor" href="#navicat">#</a> Navicat</h4>
|
||||
<ol>
|
||||
<li><span class="exturl" data-url="aHR0cHM6Ly9uYXMuaGl0b2xpLmNvbToxODAwNy8lRTglQkQlQUYlRTQlQkIlQjYvTXlTUUwlRTUlQjclQTUlRTUlODUlQjcvTmF2aWNhdC56aXA=">下载</span></li>
|
||||
<li>安装一路下一步即可 (<span class="red">注意:</span>安装完成后先不要运行)<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/navicat.jpg" alt="" /></li>
|
||||
<li>注册<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/88f1592aed1ffbf3dbfeadda4fa4773f.jpg" alt="" /></li>
|
||||
</ol>
|
||||
<div class="note info">
|
||||
<p>1、运行注册机<br />
|
||||
2、修改 Your Name(可不改)<br />
|
||||
3、点击 Patch(<span class="blue">此时会提示:navicat.exe - x64 -&gt; Cracked</span>)<br />
|
||||
4、运行 navicat<br />
|
||||
5、点击第一个 Generate 获取注册码 (<span class="yellow">Your Name 上一行</span>)<br />
|
||||
6、点击 Copy 然后粘贴到 navicat 窗口上(也可能会自动粘贴进去)<br />
|
||||
7、点击 navicat 上的激活按钮,等待一会,失败后会弹出手动激活按钮<br />
|
||||
8、点击手动激活,窗口上会有一个 request code,把框里的值复制到注册机对应的 request code 框内。<br />
|
||||
9、点击第二个 Generate 获取 Activation Code(激活码),把码复制到 navicat 对应的框内。<br />
|
||||
10、点击激活完成激活。</p>
|
||||
</div>
|
||||
<ol start="4">
|
||||
<li>查看注册信息<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/025adbe8193bc597a06d70eb8691c82c.jpg" alt="" /></li>
|
||||
<li>测试连接<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/19b7ff68e8bd4471aa398c04fc989299.jpg" alt="" /></li>
|
||||
<li>新建库<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/38a3f946af40173bdc114208fc3b50bc.jpg" alt="" /></li>
|
||||
</ol>
|
||||
<h4 id="dbeaver"><a class="anchor" href="#dbeaver">#</a> DBeaver</h4>
|
||||
<ol>
|
||||
<li><span class="exturl" data-url="aHR0cHM6Ly9uYXMuaGl0b2xpLmNvbToxODAwNy8lRTglQkQlQUYlRTQlQkIlQjYvTXlTUUwlRTUlQjclQTUlRTUlODUlQjcvZGJlYXZlci1lZS0yMS4zLnppcA==">下载</span></li>
|
||||
<li><span class="exturl" data-url="aHR0cHM6Ly9uYXMuaGl0b2xpLmNvbToxODAwNy8lRTglQkQlQUYlRTQlQkIlQjYvTXlTUUwlRTUlQjclQTUlRTUlODUlQjcvamRrLTExLjAuMTEuemlw">下载 jdk</span><span class="label danger">✔️有 JAVA 环境的不用下载</span></li>
|
||||
<li>修改<span class="red"> dbeaver.ini</span> 配置文件</li>
|
||||
</ol>
|
||||
<figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token punctuation">-</span>vm</pre></td></tr><tr><td data-num="2"></td><td><pre>D<span class="token punctuation">:</span>\jdk<span class="token punctuation">-</span>11.0.11\bin</pre></td></tr><tr><td data-num="3"></td><td><pre><span class="token punctuation">-</span>startup</pre></td></tr><tr><td data-num="4"></td><td><pre>plugins/org.eclipse.equinox.launcher_1.6.300.v20210813<span class="token punctuation">-</span>1054.jar</pre></td></tr><tr><td data-num="5"></td><td><pre><span class="token punctuation">-</span><span class="token punctuation">-</span>launcher.library</pre></td></tr><tr><td data-num="6"></td><td><pre>plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.300.v20210828<span class="token punctuation">-</span><span class="token number">0802</span></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token punctuation">-</span>vmargs</pre></td></tr><tr><td data-num="8"></td><td><pre><span class="token punctuation">-</span>XX<span class="token punctuation">:</span>+IgnoreUnrecognizedVMOptions</pre></td></tr><tr><td data-num="9"></td><td><pre><span class="token punctuation">-</span><span class="token punctuation">-</span>add<span class="token punctuation">-</span>modules=ALL<span class="token punctuation">-</span>SYSTEM</pre></td></tr><tr><td data-num="10"></td><td><pre><span class="token punctuation">-</span>Dosgi.requiredJavaVersion=11</pre></td></tr><tr><td data-num="11"></td><td><pre><span class="token punctuation">-</span>Xms128m</pre></td></tr><tr><td data-num="12"></td><td><pre><span class="token punctuation">-</span>Xmx2048m</pre></td></tr><tr><td data-num="13"></td><td><pre><span class="token punctuation">-</span>Djavax.net.ssl.trustStoreType=WINDOWS<span class="token punctuation">-</span>ROOT</pre></td></tr><tr><td data-num="14"></td><td><pre><span class="token punctuation">-</span>Ddbeaver.distribution.type=zip</pre></td></tr><tr><td data-num="15"></td><td><pre><span class="token punctuation">-</span>javaagent<span class="token punctuation">:</span>F<span class="token punctuation">:</span>\green program\dbeaver\dbeaver<span class="token punctuation">-</span>agent\dbeaver<span class="token punctuation">-</span>agent.jar</pre></td></tr></table></figure><div class="note info">
|
||||
<p>第一二行指定<span class="red"> jdk</span> 地址<br />
|
||||
最后一行指定<span class="red"> dbeaver-agent.jar 注册工具</span>的位置</p>
|
||||
</div>
|
||||
<ol start="4">
|
||||
<li>启动<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/f9c6b3b245e93698b1331b9e0bdc26f3.jpg" alt="" /></li>
|
||||
<li>注册成功<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/e16dea0c920dfbbf9138c22f5b86a050.jpg" alt="" /></li>
|
||||
<li>测试连接<br />
|
||||
<img data-src="https://nas.hitoli.com:18014/images/2022/11/13/cf0094eb3183006c459c8996c403527e.jpg" alt="" /></li>
|
||||
</ol>
|
||||
]]></description>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
Reference in new issue
Block a user