清阳 发布的文章
Zabbix中文字体错乱问题--已解决
zabbix中文字体错乱如图:
ubuntu24.04下解决办法
apt update && apt -y install fonts-wqy-microhei
cd /usr/share/zabbix/assets/fonts/
mv graphfont.ttf graphfont.ttf.bak
ln -s /usr/share/fonts/truetype/wqy/wqy-microhei.ttc graphfont.ttf刷新zabbix web界面,看字体应该出来了
Rocky 9下的解决办法
# 1. 装字体
sudo yum -y install google-noto-sans-cjk-ttc-fonts \
google-noto-serif-cjk-ttc-fonts
# 2. 让系统刷新缓存
sudo fc-cache -fv
# 3. 替换 Zabbix 绘图字体(和之前同样思路)
# 找到 DejaVu 真实路径,备份后软链到 Noto
sudo mv /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf \
/usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf.bak
sudo ln -s /usr/share/fonts/google-noto-cjk/NotoSansCJK-Regular.ttc \
/usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf刷新zabbix web界面,看字体应该出来了
CentOS安装指定版本nginx
查看所有可以安装的nginx版本
yum list nginx --showduplicates
安装指定版本的nginx
yum install nginx-1.26.1-1.el7.ngx
麒麟OS V10 ARM平台编译安装Percona-XtraBackup 8
麒麟OS V10 ARM平台编译安装Percona-XtraBackup 8
麒麟OS V10版本相当于CentOS8,所以部分软件可以使用CentOS8版本的。
以下是在麒麟操作系统上编译安装 Percona-XtraBackup 8的详细步骤:
环境准备
系统版本:麒麟操作系统(Kylin V10)。
硬件架构:aarch64。
GCC版本:需要 GCC 版本 >= 5.3。建议安装高版本的 GCC,例如 GCC 11注意本次编译安装 Percona-XtraBackup 8.0和8.4会有不同的编译结果,使用8.0可以编译成功,使用8.4编译失败。故尽量使用8.0版本来编译。
yum install cmake openssl-devel libaio libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel zlib-devel libudev-devel zstd vim-common procps-ng-devel libkmip-devel -y #安装编译过程中的依赖包: yum install -y cyrus-sasl-devel2、麒麟OS v10自带的gcc为7.3,本次编译Percona-XtraBackup 8需要GCC的11版本
mkdir -p /usr/local/src/gcc cd /usr/local/src/gcc wget "https://mirrors.aliyun.com/rockylinux/8.10/AppStream/aarch64/kickstart/Packages/g/gcc-toolset-11-runtime-11.1-1.el8.aarch64.rpm" wget "https://mirrors.aliyun.com/rockylinux/8.10/AppStream/aarch64/kickstart/Packages/g/gcc-toolset-11-binutils-2.36.1-4.el8_9.aarch64.rpm" wget "https://mirrors.aliyun.com/rockylinux/8.10/AppStream/aarch64/kickstart/Packages/g/gcc-toolset-11-gcc-11.2.1-9.2.el8_9.aarch64.rpm" wget "https://mirrors.aliyun.com/rockylinux/8.10/AppStream/aarch64/os/Packages/g/gcc-toolset-11-gcc-c++-11.2.1-9.2.el8_9.aarch64.rpm" wget "https://mirrors.aliyun.com/rockylinux/8.10/devel/aarch64/os/Packages/g/gcc-toolset-11-libstdc++-devel-11.2.1-9.2.el8_9.aarch64.rpm"3、
下载 Boost
Percona-XtraBackup 依赖 Boost 库,可以从 Boost 官方网站下载cd /usr/local/src wget https://sourceforge.net/projects/boost/files/boost/1.77.0/boost_1_77_0.tar.gz/download -O boost_1_77_0.tar.gz tar -xzvf boost_1_77_0.tar.gz 将Boost解压到任意目录,例如 /usr/local/src/boost_1_77_0 从 Percona 官方网站下载 Percona-XtraBackup 8 的源码包 cd /usr/local/src wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.34-29/source/tarball/percona-xtrabackup-8.0.34-29.tar.gz tar -xzvf percona-xtrabackup-8.0.34-29.tar.gz cd percona-xtrabackup-8.0.34-29编译和安装
进入源码目录并创建编译目录:mkdir build cd build rpm -ivh gcc-toolset-11-*.rpm source scl_source enable gcc-toolset-11 source /opt/rh/gcc-toolset-11/enable检查 GCC 版本是否正确:
gcc -v
如果显示版本为 11.x.x,则说明安装成功并已启用。
5、
cmake3 -DWITH_BOOST=/usr/local/src/boost -DDOWNLOAD_BOOST=OFF -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF ..
运行cmake配置编译环境
开始编译
make -j$(nproc) -j$(nproc)
参数表示根据系统 CPU 核心数并行编译,可以加快编译速度
安装
make install- 验证安装
安装完成后,可以通过以下命令验证 Percona-XtraBackup 是否安装成功:
xtrabackup --version
如果显示版本信息,则表示安装成功
软考网络工程师常用名词
在软考网络工程师考试中,会涉及到大量的网络技术相关缩写词汇,以下是一些常考的词汇缩写及其名称:
常见网络协议相关
- TCP/IP:Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议,是互联网的基础协议。
- HTTP:Hypertext Transfer Protocol,超文本传输协议,用于浏览器与服务器之间的通信。
- FTP:File Transfer Protocol,文件传输协议,用于在网络上进行文件传输。
- SMTP:Simple Mail Transfer Protocol,简单邮件传输协议,用于发送电子邮件。
- POP3:Post Office Protocol version 3,邮局协议版本3,用于接收电子邮件。
- DNS:Domain Name System,域名系统,用于将域名解析为IP地址。
- DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,用于自动分配IP地址。
- SNMP:Simple Network Management Protocol,简单网络管理协议,用于网络设备的管理。
- SSL/TLS:Secure Sockets Layer/Transport Layer Security,安全套接层/传输层安全协议,用于加密网络通信。
- NAT:Network Address Translation,网络地址转换,用于将私有IP地址转换为公网IP地址。
网络设备相关
- LAN:Local Area Network,局域网,通常用于同一建筑物或校园内的网络。
- WAN:Wide Area Network,广域网,用于连接不同地理位置的网络。
- MAN:Metropolitan Area Network,城域网,用于连接城市范围内的网络。
- VPN:Virtual Private Network,虚拟专用网络,通过加密技术在公共网络上创建一个安全的网络通道。
- IDS/IPS:Intrusion Detection System/Intrusion Prevention System,入侵检测系统/入侵防御系统,用于检测和阻止网络攻击。
- NIDS/NIPS:Network Intrusion Detection System/Network Intrusion Prevention System,网络入侵检测系统/网络入侵防御系统,基于网络流量的检测和防御系统。
- HIDS/HIPS:Host Intrusion Detection System/Host Intrusion Prevention System,主机入侵检测系统/主机入侵防御系统,基于主机的检测和防御系统。
网络安全相关
- AES:Advanced Encryption Standard,高级加密标准,一种对称加密算法。
- DES:Data Encryption Standard,数据加密标准,一种对称加密算法。
- RSA:Rivest-Shamir-Adleman,一种非对称加密算法。
- MD5:Message Digest Algorithm 5,消息摘要算法5,用于生成数据的哈希值。
- SHA-1/SHA-256:Secure Hash Algorithm,安全哈希算法,用于生成数据的哈希值。
- SSL/TLS:Secure Sockets Layer/Transport Layer Security,安全套接层/传输层安全协议,用于加密网络通信。
- CA:Certificate Authority,证书颁发机构,用于颁发数字证书。
- PKI:Public Key Infrastructure,公钥基础设施,用于管理公钥加密的基础设施。
- VPN:Virtual Private Network,虚拟专用网络,通过加密技术在公共网络上创建一个安全的网络通道。
- WEP/WPA/WPA2/WPA3:Wired Equivalent Privacy/Wi-Fi Protected Access,有线等效隐私/无线保护访问,用于无线网络的安全加密协议。
网络架构与设计相关
- OSI:Open Systems Interconnection,开放系统互连模型,一个七层的网络模型。
- TCP/IP:Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议,一个四层的网络模型。
- VLAN:Virtual Local Area Network,虚拟局域网,用于将一个物理局域网划分为多个逻辑网络。
- VTP:VLAN Trunk Protocol,VLAN中继协议,用于管理VLAN的配置信息。
- STP:Spanning Tree Protocol,生成树协议,用于避免网络中的环路。
- RSTP:Rapid Spanning Tree Protocol,快速生成树协议,提供更快的收敛速度。
- MSTP:Multiple Spanning Tree Protocol,多生成树协议,支持多个生成树实例。
- QoS:Quality of Service,服务质量,用于保证网络通信的性能。
- PoE:Power over Ethernet,以太网供电,通过以太网电缆传输电力。
- LACP:Link Aggregation Control Protocol,链路聚合控制协议,用于将多个物理链路聚合为一个逻辑链路。
路由与交换相关
- RIP:Routing Information Protocol,路由信息协议,一种距离矢量路由协议。
- IGRP:Interior Gateway Routing Protocol,内部网关路由协议,一种距离矢量路由协议。
- OSPF:Open Shortest Path First,开放最短路径优先,一种链路状态路由协议。
- EIGRP:Enhanced Interior Gateway Routing Protocol,增强型内部网关路由协议,一种混合路由协议。
- BGP:Border Gateway Protocol,边界网关协议,用于自治系统之间的路由选择。
- MPLS:Multiprotocol Label Switching,多协议标签交换,用于提高网络的性能和灵活性。
- VRF:Virtual Routing and Forwarding,虚拟路由和转发,用于隔离不同用户的路由表。
- L3/L2:Layer 3/Layer 2,第三层/第二层,分别指网络层和数据链路层。
- ACL:Access Control List,访问控制列表,用于控制网络流量的访问权限。
云计算与虚拟化相关
- IaaS:Infrastructure as a Service,基础设施即服务,提供虚拟化的计算资源。
- PaaS:Platform as a Service,平台即服务,提供开发和部署应用程序的平台。
- SaaS:Software as a Service,软件即服务,提供基于云的应用程序。
- VM:Virtual Machine,虚拟机,一个虚拟的计算机系统。
- Hypervisor:虚拟机监视器,用于管理虚拟机的运行。
- SDN:Software-Defined Networking,软件定义网络,通过软件控制网络设备的配置。
- NFV:Network Functions Virtualization,网络功能虚拟化,将网络功能从硬件设备中分离出来。
这些缩写词汇在考试中非常重要,建议考生重点记忆和理解它们的含义和应用场景。
Typecho之Joe主题开启文章目录功能
本文参考其他博客,整理配置了Typecho博客的Joe主题文章目录功能,希望能够帮到你
一、环境介绍
假设
- 网站根目录为:/data/www
- 主题目录为:usr/theme/Gmork
二、资源下载途径
可以参考
https://github.com/typecho-fans/plugins/releases/download/plugins-M_to_R/MenuTree.zip
也可以使用本站快捷下载
三、下载并解压插件到指定目录
cd /data/www/usr/plugins
wget https://download.qingpc.com/typecho/joe/MenuTree.zip
unzip MenuTree.zip四、修改主题模版
cd /data/www
编辑usr/themes/Gmork/public/aside.php文件,预留目录空间,添加如下代码
<section class="joe_aside__item menu-tree" style="display:none;">
<div class="joe_aside__item-title menu_title">
<svg t="1642997936013" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2169" width="128" height="128"><path d="M838.3 895.9H197.9c-53.9 0-97.7-43.8-97.7-97.7V236.7c0-53.9 43.8-97.7 97.7-97.7h640.3c53.9 0 97.7 43.8 97.7 97.7v561.4c0.1 53.9-43.7 97.8-97.6 97.8zM197.9 203.8c-18.1 0-32.9 14.8-32.9 32.9v561.4c0 18.1 14.8 32.9 32.9 32.9h640.3c18.1 0 32.9-14.8 32.9-32.9V236.7c0-18.1-14.8-32.9-32.9-32.9H197.9z" fill="#666666" p-id="2170"></path><path d="M695.1 455.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 578.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 701.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM379.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5zM657.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5z" fill="#666666" p-id="2171"></path></svg>
<span class="text">目录</span>
</div>
<?php $this->treeMenu(); ?>
</section>代码添加完如下图:
五、编写CSS样式文件
编写 assets/css/menutree.css,样式文件
/*,侧边栏目录导航只在文章页面生效*/
.joe_post + .joe_aside > section {
display: none;
}
.joe_post + .joe_aside > .author {
display: block;
}
.joe_post + .joe_aside > .menu-tree {
display: block !important;
}
.menu-tree {
background: var(--background);
padding: 15px 0px;
top: 50px;
position: sticky;
}
.index-menu {
max-height: 500px;
overflow-y:auto;
overflow-x:hidden;
margin-top: 10px;
}
/** 父元素<ul>与其中的子元素<li> **/
.index-menu-item {
margin: 10px 0px;
}
.index-menu-list {
margin: 5px 0px 5px 10px;
}
/** 所有<a>标签 **/
.index-menu-link{
color: var(--main);
transition:all 0.2s ease-in-out 0s;
padding:5px 0px;
}
.index-menu-link:hover {
color: var(--theme);
text-shadow: var(--text-shadow);
font-weight:500;
}
/* 锚点跳转定位 */
.menu-target-fix {
display: block;
position: relative;
/* 偏移量 */
top:-100px;
}
/* 在宽度小于1000px的设备上隐藏短划线,以使目录的标题正常显示 */
@media screen and (max-width:1000px) {
.joe_aside__item-title > .line {
display:none;
}
}
/* 在宽度小于800px的设备上隐藏目录侧边栏 */
@media screen and (max-width:800px) {
.menu-tree{
display:none;
}
}六、在typecho中引用样式文件
编辑Joe主题文件夹post.php文件,在
标签中添加以下代码<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/menutree.css'); ?>">七、最后在Typecho管理后台启用目录插件
切记选择独立模式

八、测试效果图

记一次GCP云SQL数据库问题导致的线上故障
本文记录了一次由于GCP SQL云数据库异常导致的线上故障
接到业务部门反馈数据库查询异常。运维小伙伴第一时间排查确认:
1、登录运维系统检查监控日志发现一切正常。
2、登录GCP web控制台查看SQL状态发现一切正常。
3、登录服务器使用mysql命令行连接数据库进行查询检测发现有报错。如下:
[game@server-1 ~]$ mysql -h 10.1.2.3 -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1344693
Server version: 8.0.31-google
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql> use JobScheduleDb;
No connection. Trying to reconnect...
Connection id: 1344727
Current database: *** NONE ***
ERROR 1184 (08S01): Aborted connection 1344727 to db: 'unconnected' user: 'root' host: '10.1.2.3' (init_connect command failed)
mysql> select JobName from JobScheduleDb.JobScheduleLog limit 1;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
总结一下:就是执行任何SQL查询语句均为异常。(也包括root用户)
解决办法:
在GCP控制台删除当前用户,然后重新创建新用户。再次测试,发现业务正常。
联系GCP技术排查确认。GCP也没查到具体原因。事发时GCP后台出现过维护更新日志记录。
具体原因扔在排查跟进中。
导致的后果:
由于常规监控正常,但是业务异常,并且没有相关业务监控,导致事发后过了好久才发现。产生了很不好的影响。
完善解决方案
1、加强数据库查询监控,监控系统读取数据异常时,及时告警通知人员介入处理。
2、加强业务监控,业务不正常一定要及时告警出来。(业务监控也不能少)
3、这种数据库运行正常,用户查询异常的情况一般很少遇到,总结本次经验教训,监控一定要足够完善,否则很容易被拉出来背锅。
2025年3月1日更新
经排查确认:
可能跟
init_connect 'SET NAMES utf8mb4 COLLATE utf8mb4_bin'
这行配置有关系,具体原因,检查确认中。
查看mysql官网文档对于init_connect的解释:
服务器将为每个连接的客户端执行的字符串。该字符串由一个或多个 SQL 语句组成,以分号字符分隔。
对于拥有 CONNECTION_ADMIN权限(或弃用SUPER 权限)的用户, 的内容 init_connect不会被执行。这样做是为了避免 的错误值 init_connect阻止所有客户端连接。例如, 值可能包含语法错误的语句,从而导致客户端连接失败。不执行 或 权限init_connect的用户可让他们打开连接并修复该 值。 CONNECTION_ADMINSUPERinit_connect
init_connect对于任何密码已过期的客户端用户,将跳过执行。这样做是因为这样的用户无法执行任意语句,因此init_connect 执行失败,导致客户端无法连接。跳过init_connect 执行使用户能够连接并更改密码。
服务器将丢弃由 的值中的语句生成的任何结果集init_connect。解释一下就是 init_connect 设置了mysql用户连接数据库之后执行的第一条sql语句。但是以下两种情况例外:
1、具有超级数据库管理权限的用户会跳过。(避免因为设置错误,连不上数据库,无法修改管理配置的情况)
2、密码到期的客户端。(避免客户端密码到期后,连接不上无法修改密码。)
经过反复修改测试,init_connect 如果设置为'SET NAMES utf8mb4 COLLATE utf8mb4_bin',即带 单引号的方式确实会影响普通用户连接数据库和查询,主要是影响连接后的第一条sql语句执行。 添加时 应为:init_connect = SET NAMES utf8mb4 COLLATE utf8mb4_bin去掉单引号。
恭贺新春-新年快乐

新年快乐!!!
{lamp/}
烟火起 照人间 举杯敬此年
烟花落 四季平 举杯贺新碎
年年有今日 岁岁有今朝
年年有风 风吹年年
家人闲坐,辞旧迎新
旧疾当愈 新年可期
岁岁常欢愉 年年皆善意
{lamp/}
::(太开心) ::(太开心) ::(太开心) ::(太开心) ::(太开心) ::(太开心)