程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
运维 相关技术文章(第4页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
MySQL XA 的两个错序 Bug:GTID 已可见,XA RECOVER 里却还看不到(或还没消失)
代码
MySQL XA 的两个错序 Bug:GTID 已可见,XA RECOVER 里却还看不到(或还没消失)
2026-10-20 21:02:11
MySQL 9.7.4 修了两条 XA 与 GTID 的错序:XA COMMIT 的 GTID 先可见而 XA RECOVER 还在列它;XA PREPARE 的 GTID 先可见而 XA RECOVER 看不到 XID。窗口期内协调器容易漏单或重复决议,文中给出幂等处理与对账宽限窗口的做法。
MySQL
XA
分布式事务
运维
队列
MySQL 9.7.4 回退了收紧的建表校验,但 INSTANT DDL 仍在用严格行大小估算
编程
MySQL 9.7.4 回退了收紧的建表校验,但 INSTANT DDL 仍在用严格行大小估算
2026-10-20 21:01:33
MySQL 9.7.4 把 9.7 早期小版本收紧的 DDL 行大小校验回退了,但 ALTER TABLE ... ALGORITHM=INSTANT 仍走严格算法;同时版本号变成四段而 VERSION() 还是三段,EXCHANGE PARTITION 改双向检查 CHECK 与生成列。附可复现的验证 SQL 和报错原文。
MySQL
运维
DDL
版本升级
warnings
ghcr.io 拉镜像报 unauthorized / denied / manifest unknown:按凭据→权限→名字的顺序排查
编程
ghcr.io 拉镜像报 unauthorized / denied / manifest unknown:按凭据→权限→名字的顺序排查
2026-10-20 00:03:47
ghcr.io 拉镜像失败的三种形态(401 unauthorized / 403 denied / 404 manifest unknown)怎么区分:先用 docker logout 清本地坏凭据,再用 /token 换 token 打 manifest 接口定位是凭据还是权限;GitHub 侧要查包可见性、包与仓库链接的继承开关、组织 PAT 生存期策略、Actions 的 Manage Actions access,以及 K8s imagePullSecrets 里过期 token 的表现。
GHCR
Docker
容器镜像仓库
GitHub
认证
权限
运维
用 BillionMail 自建邮局:两种装法、七个容器,以及上线前必须改掉的默认值
综合
用 BillionMail 自建邮局:两种装法、七个容器,以及上线前必须改掉的默认值
2026-10-19 21:31:21
BillionMail 自托管邮局部署笔记:一键脚本与 Docker Compose 两条路的差异、七个容器的职责与端口,以及 25 端口出站、PTR、SPF/DKIM/DMARC 这些装完才知道要补的外部条件,附默认口令与 docker.sock 的风险点。
邮件服务器
自托管
Docker
运维
批量 UPDATE 撑大 binlog cache:临时文件、1197 报错与排查顺序
编程
批量 UPDATE 撑大 binlog cache:临时文件、1197 报错与排查顺序
2026-10-19 21:06:02
单个事务的 binlog 事件超过 binlog_cache_size 后会落到 tmpdir 临时文件,磁盘悄悄被吃掉;超过 max_binlog_cache_size 还会报 1197。含状态变量比值读法、tmpdir 排查顺序、按主键分批与 binlog_row_image 的取舍。
MySQL
运维
binlog
事务
logrotate:copytruncate 与 create 怎么选,以及「轮转了但磁盘不释放」的排查顺序
综合
logrotate:copytruncate 与 create 怎么选,以及「轮转了但磁盘不释放」的排查顺序
2026-10-19 21:05:23
logrotate 的 create 与 copytruncate 本质是进程 fd 指向哪个 inode。讲清 Nginx/PHP-FPM 必须 reopen、copytruncate 的丢日志窗口与 IO 峰值、df 与 du 不一致时用 lsof +L1 定位、以及容器里为什么不该跑 logrotate。
Shell
运维
日志
Linux
Redis 8.4 XREADGROUP CLAIM:一条命令同时取空闲 pending 和新增条目
编程
Redis 8.4 XREADGROUP CLAIM:一条命令同时取空闲 pending 和新增条目
2026-10-19 21:04:19
Redis 8.4 给 XREADGROUP 加了 CLAIM min-idle-time,一次调用同时认领空闲 pending 与读取新增条目,替掉 XAUTOCLAIM 加 XREADGROUP 的两段式消费循环。含旧循环对照、阈值与重试预算的换算、XPENDING 监控与幂等边界。
Redis
消息队列
Streams
运维
队列
Caddy 2.10 的 ECH 自动化:要编进 DNS 模块,升级后通配符证书还会改变签发行为
综合
Caddy 2.10 的 ECH 自动化:要编进 DNS 模块,升级后通配符证书还会改变签发行为
2026-10-19 21:03:36
Caddy 2.10 的 ECH 自动化需要把 DNS provider 模块编进二进制、指定指向本机的外层域名,且 CNAME 域名不会自动发布 ECH 记录。同时提醒通配符证书已成默认行为、libdns 1.0 与 Go 版本策略带来的升级阻塞。
Caddy
TLS
运维
反向代理
用 Beszel 搭一套轻量监控:hub + agent 的 Docker Compose 部署笔记
综合
用 Beszel 搭一套轻量监控:hub + agent 的 Docker Compose 部署笔记
2026-10-18 21:31:11
Beszel 用 Go 写的轻量监控:hub 基于 PocketBase,agent 采集宿主与 Docker 容器指标。含完整 docker-compose、KEY/TOKEN 回填与 unix socket 接法、告警通知渠道,以及 host 网络、SMART 权限、公网暴露的取舍。
服务器监控
Beszel
Docker
运维
自托管
systemd v259 升级后会踩到的默认值与行为变化
资讯
systemd v259 升级后会踩到的默认值与行为变化
2026-10-18 21:07:28
systemd v259 里不改配置也会变的三处:journald 默认 persistent、cgroup2 挂载 memory_hugetlb_accounting 让大页计入内存限制、networkd 与 nspawn 只走 nftables。另附 run0 --empower、OOMKills 属性、$LISTEN_PIDFDID 与 v260 移除计划。
Linux
运维
systemd
PostgreSQL 19 RC1 升级笔记:REPACK 取代 VACUUM FULL/CLUSTER,JIT 默认关闭,max_locks_per_transaction 64→128
资讯
PostgreSQL 19 RC1 升级笔记:REPACK 取代 VACUUM FULL/CLUSTER,JIT 默认关闭,max_locks_per_transaction 64→128
2026-10-18 21:04:03
PostgreSQL 19 RC1 升级清单:REPACK 取代 VACUUM FULL/CLUSTER 并支持 CONCURRENTLY,JIT 默认关闭,max_locks_per_transaction 从 64 变 128 且锁槽口径变化,inet/cidr 索引要重建为 GiST,另附 Beta 4 撤回的功能与命令片段。
PostgreSQL
数据库升级
运维
Backup Center:Laravel + Go Agent 做多机网站备份,存储按 YYYYMMDD 归档
案例
Backup Center:Laravel + Go Agent 做多机网站备份,存储按 YYYYMMDD 归档
2026-10-18 20:02:23
一台 Center 加每机一个 Go Agent,把网站备份统一调度到 S3/SFTP/WebDAV。记录一键脚本的环境变量与 OpenVZ/LXC 兼容坑、Agent 的 systemd 接入、tag 触发的发布流程,以及 README 没交代的一致性、加密、去重三个待验证点。
自托管
备份
Laravel
Go
Docker
运维
Valkey 9.2.0-rc1 运维笔记:forkless RDB、服务端热 key、给运维留连接位
编程
Valkey 9.2.0-rc1 运维笔记:forkless RDB、服务端热 key、给运维留连接位
2026-10-17 21:10:10
Valkey 9.2.0-rc1 里三项运维直接相关的变化:forkless RDB 快照的开关与验证方法、服务端 HOTKEYS 近似 Top-K 检测的适用边界、priority-subnets 与 maxclients-reserved 预留管理连接位,另附 ACL roles、复制限流等条目。
Valkey
Redis
运维
缓存
nginx 1.30 升级后最容易漏掉的默认值:代理上游默认走 HTTP/1.1 并开启 keep-alive
综合
nginx 1.30 升级后最容易漏掉的默认值:代理上游默认走 HTTP/1.1 并开启 keep-alive
2026-10-17 21:07:25
nginx 1.30 把代理到上游的 HTTP 版本默认从 1.0 改成 1.1 并默认开启 keep-alive。梳理由此带来的连接复用、后端 idle timeout 不匹配导致的 502、残留 Connection close 反向抵消,以及日志字段与 stub_status 的验证方法。
nginx
运维
反向代理
升级踩坑
一次切干净还是渐进式:数据库割接的阶段、回滚,与 PgDog 的 CUTOVER 机制
编程
一次切干净还是渐进式:数据库割接的阶段、回滚,与 PgDog 的 CUTOVER 机制
2026-10-17 00:04:02
讲清 cut-over(数据库割接)到底切的是哪个动作:摄取冻结、最终同步、路由切换与回滚路径,all-at-once 与渐进式的选型判据,再拆解 PgDog 的 CUTOVER 命令、阈值配置、逆向复制,以及反向复制不停导致 WAL 堆积的坑。
cut-over
数据库割接
数据库迁移
PgDog
PostgreSQL
回滚
运维
Illegal mix of collations(1267/1271):用 COLLATION() 定位比较两侧的真实来源
案例
Illegal mix of collations(1267/1271):用 COLLATION() 定位比较两侧的真实来源
2026-10-17 00:03:36
MySQL/MariaDB 报 Illegal mix of collations(1267/1271)怎么排查:从错误码看两侧 collation 来源,用 COLLATION() 与 information_schema 定位冲突列与连接设置,讲清 MySQL coercibility 与 MariaDB derivation 推导规则、COLLATE 修法的索引代价,以及 uca1400_ai_ci 默认变更带来的新冲突。
collation
排序规则
MySQL
MariaDB
数据库
字符集
运维
用发行版自带工具做服务器自动化:systemd timer、加固 SSH、机群循环与自动打补丁
综合
用发行版自带工具做服务器自动化:systemd timer、加固 SSH、机群循环与自动打补丁
2026-10-16 21:32:19
不用引入新工具,用主流发行版自带的 systemd timer/cron、OpenSSH 加固(受限密钥 command=/from=、Match+ProxyJump)、ssh+bash 机群循环、logrotate 与 unattended-upgrades/dnf-automatic 搭一套可复现的服务器自动化,并说清脚本能执行但不能观察/决策/解释的边界。
运维
Shell
Linux
SSH
systemd
sup:用一份 Supfile 把命令并行发到多台主机,无需 agent 的部署工具
编程
sup:用一份 Supfile 把命令并行发到多台主机,无需 agent 的部署工具
2026-10-16 21:31:15
pressly/sup(Stack Up)是一个用一份 YAML(Supfile)把命令并行发到多台主机的部署工具,复用系统 ssh,不用装 agent。本文讲清 networks/commands/targets 结构、serial 滚动更新、once 只在单机执行、upload/交互式 stdin、target 组合与失败即中断,以及 ssh-agent 连不上的排错。
Shell
部署
运维
SSH
Go
Kubernetes 新增核心 CVE:StatefulSet 跨命名空间建 Pod、Windows kubectl cp 路径穿越、CSI subDir 越权删除
资讯
Kubernetes 新增核心 CVE:StatefulSet 跨命名空间建 Pod、Windows kubectl cp 路径穿越、CSI subDir 越权删除
2026-10-16 21:07:37
Kubernetes 官方 CVE 订阅源 10 月新增一批条目。核心(非 ingress)部分:StatefulSet/ControllerRevision 写权限可跨命名空间建 Pod、Windows 节点 subPath 符号链接 NTLM coercion、Windows 上 kubectl cp 路径穿越、CSI SMB/NFS 通过 subDir 越权删目录。含 CVE 号与 issue 链接。
Kubernetes
CVE
安全
运维
ShellCheck 到底比 bash -n 多查了什么:三条高频规则与 CI 落地
编程
ShellCheck 到底比 bash -n 多查了什么:三条高频规则与 CI 落地
2026-10-16 21:05:59
ShellCheck 比 bash -n 多做变量数据流与控制流分析。讲清 SC2086(引号)、SC2164(cd 退出码)、SC2155(local 吞退出码)三条高频规则的成因与改法,以及 CI/pre-commit 集成、disable 滥用、忽略被 source 文件等落地坑。
Shell
ShellCheck
bash
运维
Go 1.26.9 / 1.27.2 修复 15 个安全漏洞:HTTP/2 服务可被远程打崩,ReverseProxy 对 CONNECT 改返 405
资讯
Go 1.26.9 / 1.27.2 修复 15 个安全漏洞:HTTP/2 服务可被远程打崩,ReverseProxy 对 CONNECT 改返 405
2026-10-16 20:02:06
Go 1.26.9 与 1.27.2(2026-10-08)修复 15 个安全漏洞:HTTP/2 服务可被远程打崩或内存耗尽,HTTP/1 CONNECT 处理导致请求走私,ReverseProxy 现在对 CONNECT 返回 405,Range 头新增 200 段上限。本文列出各 CVE 的影响面与升级命令。
Go
安全
net
http
HTTP
2
运维
MASH playbook:用一套 Ansible 部署 Nextcloud、Jellyfin、Vaultwarden 等自托管服务
综合
MASH playbook:用一套 Ansible 部署 Nextcloud、Jellyfin、Vaultwarden 等自托管服务
2026-10-16 20:01:12
MASH 是一个把 Nextcloud、Jellyfin、Vaultwarden 等 FOSS 服务以 Docker 容器统一部署的 Ansible playbook。本文给出 git clone、just update、just install-all 的安装命令、导入旧数据时先不启动的处理、tags 用法,以及重跑与升级注意点。
Ansible
Docker
自托管
运维
MASH
utf8mb3 转 utf8mb4:767 字节索引上限、191/768 前缀与 row size 8126 的踩坑记录
案例
utf8mb3 转 utf8mb4:767 字节索引上限、191/768 前缀与 row size 8126 的踩坑记录
2026-10-16 00:03:48
从 utf8mb3 转 utf8mb4 时,内容没问题但表结构常被 InnoDB 的字节上限卡住:COMPACT 行格式 767 字节对应 191 字符前缀、DYNAMIC 行格式 3072 字节对应 768 字符,以及 TINYTEXT/VARCHAR 长度、row size 8126、ER_1071/1709/1118 报错与可执行修复 SQL。
utf8mb4
MySQL
字符集
索引
InnoDB
运维
数据库
emoji
LocalAI 4.11:一个模型名后面挂本地+远端多条链路,失败自动切换
编程
LocalAI 4.11:一个模型名后面挂本地+远端多条链路,失败自动切换
2026-10-15 21:04:40
LocalAI 4.11 引入模型故障转移链:把本地与远端目标挂在同一个模型名后面,在响应提交前按链重试并切换,可从 API/MCP/UI 固定目标;模型库改为以 OCI artifact 分发,按 Sigstore 校验并用 digest 绑定的 last-known-good 缓存回退。文中讲清这两条主线的配置与取舍。
LocalAI
自托管
运维
AI
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
13
下一页
共 13 页
到第
页
确定