🐧

运维日志

专注 Linux 系统运维与数据库运维技术分享,记录踩坑经验,沉淀最佳实践。

最新文章

查看全部 →
PG 大版本不能原地升:用 pg_upgrade 把 12 升到 16,停机从小时级压到分钟级
数据库运维13 min read

PG 大版本不能原地升:用 pg_upgrade 把 12 升到 16,停机从小时级压到分钟级

PostgreSQL 的大版本(10→12→15→16)catalog 不兼容,没法像小版本那样 yum update 后直接起。早年大家靠 pg_dump 导出再导入,几百 G 的库停机大半天。pg_upgrade 走的是「复用旧数据文件」的路子,copy 模式原样搬、link 模式直接建硬链接,停机往往压到几分钟。但它不是傻瓜命令——扩展版本不对、locale 不一致、表空间映射错一点,升级就中途报错回退。

服务器莫名重启、控制台只剩一行 Call Trace:用 kdump 把内核崩溃的现场抓回来
Linux运维15 min read

服务器莫名重启、控制台只剩一行 Call Trace:用 kdump 把内核崩溃的现场抓回来

一台数据库机凌晨无故重启,uptime 比预期短、dmesg 戛然而止,典型的 kernel panic 现场。用户态工具这时全没用——进程都没了,日志也没来得及落盘。能留下线索的只有 kdump:它靠 kexec 在崩溃瞬间切到一个预留内存里的捕获内核,把整台机器的内存 dump 成 vmcore。再配合 crash 工具反汇编栈、看 RIP、查 slab,才找得到是哪段内核代码、哪个驱动把事搞砸的。

磁盘被 mysql-bin.0000xx 吃光、误删数据靠它回滚:MySQL binlog 这套机制你至少得会管
数据库运维13 min read

磁盘被 mysql-bin.0000xx 吃光、误删数据靠它回滚:MySQL binlog 这套机制你至少得会管

一台 MySQL 半夜告警磁盘 100%,一查是 datadir 下躺着三百多个 mysql-bin.000xxx,每个 1G,占了 300 多 G;另一次,同事手滑 DELETE 没带 WHERE,五千条订单没了。两件事的命门都是 binlog——它既是吃爆磁盘的元凶,也是救回误删数据的唯一希望。本文把 binlog 的格式选择、GTID、过期清理、磁盘爆满救急、误删闪回恢复,以及主从环境下不能乱 PURGE 的坑,一次讲透。

加了内存还是卡、数据库要不要开 swap:这套 swap 与 swappiness 逻辑我调了三次生产才顺
Linux运维13 min read

加了内存还是卡、数据库要不要开 swap:这套 swap 与 swappiness 逻辑我调了三次生产才顺

一台 64G 内存的机器,内存才用到一半,响应却一卡一卡,iotop 里 kswapd 占着 CPU 狂写磁盘——这病九成出在 swap 上。很多人对 swap 的理解还停在「内存不够时的备胎」,对 swappiness 的理解停在中「调成 0 就不换出了」。两者都错。本文从一次线上卡顿讲起,把 swap 到底在干嘛、swappiness 的真实含义、怎么加 swap 文件、怎么诊断 swap 风暴、不同业务怎么调,以及关 swap 的代价一次讲清。

中文变问号、表情变乱码:MySQL 字符集那点事我踩了三次才搞透
数据库运维13 min read

中文变问号、表情变乱码:MySQL 字符集那点事我踩了三次才搞透

线上昵称里带个 emoji,存进库变成 「ðŸ」;一次迁移之后,原本正常的客户备注全成了 「???」。这种字符集乱码,八成不是「数据库坏了」,而是 server、database、table、column、连接层五层字符集没对齐。MySQL 的 utf8 其实是 3 字节的假 utf8,存不了 emoji,真正能存全 Unicode 的是 utf8mb4。从现象反推根因,顺手把已经乱掉的数据救回来。

一台机器被一个进程拖垮:用 cgroup v2 和 systemd 把它关进笼子
Linux运维14 min read

一台机器被一个进程拖垮:用 cgroup v2 和 systemd 把它关进笼子

凌晨两点,一台共用机器 load 飙到 80,SSH 都卡。查下来是个批处理脚本 fork 爆炸,把整台宿主的 CPU 和内存吃光。这种「一个进程搞死全机」的事,ulimit 管不住、nice 降优先级也只是缓解。真正的答案是 cgroup v2——配合 systemd 的 resource control,给每个服务画好 CPU、内存、IO 的硬边界,谁越界谁先死,绝不连累邻居。

会员管理系统

FREE支持定制

完全免费的会员管理系统,开箱即用。 支持会员信息管理、积分体系、消费记录等核心功能。 接受定制化开发 —— 无论你需要接入微信支付、定制报表、还是对接现有ERP系统,都可以按需开发,交付源码。

Web端管理后台会员信息管理积分系统消费记录数据导出定制化开发交付源码
了解更多

热门标签

专栏分类