- 博客(457)
- 资源 (3)
- 收藏
- 关注

原创 mysql 死锁和死锁检测
innodb_deadlock_detect=on 来开启死锁检测,通过show engine innodb status 命令查看最近产生死锁的情况,innodb_monitor模式记录死锁。
2022-03-24 17:35:35
4874

原创 php的错误和异常处理机制
php的错误和异常处理机制。1、php错误分类;2、error_reporting、display_errors、log_errors、log_errors_max_len、error_log等配置;3、set_error_handler的使用;4、set_exception_handler 的使用;5、用trigger_error触发错误;6、捕获异常try/catch/finally的使用方式
2022-03-15 16:20:29
2842
原创 网络包在 Linux 中的处理流程
动作(ACCEPT/DROP/REJECT/LOG/...)自动记录连接状态(NEW, ESTABLISHED...)raw 表 → 控制是否追踪连接(conntrack)将数据放入内存缓冲区(ring buffer)。mangle 表 → 修改包内容(TTL、TOS)判断是否进行 NAT(POSTROUTING)执行 NAT/Masquerade(如有)的包到达 INPUT 链,就会被丢弃。filter 表 → 控制是否接收/转发。数据被封装为 TCP/UDP 报文段。协议(TCP/UDP/ICMP)
2025-06-05 10:52:20
923
原创 DNS解析深入探讨
分层架构实现全球可扩展性缓存机制保障高效查询柔性协议允许实现优化(如直接返回A记录)安全扩展应对新型威胁通过dig +trace等工具深入分析实际查询过程,不仅能理解DNS工作原理,更能洞察互联网基础设施的运行智慧。随着DNS-over-HTTPS等新技术发展,DNS系统仍在持续进化,但其核心的分布式解析理念始终不变。
2025-06-04 17:10:40
928
原创 git仓库服务gogs详解
名称来源:Gogs 是 “Go Git Service” 的缩写,使用 Go 语言开发,体积小、部署简单。定位:轻量级 Git 服务,适合个人/小团队私有部署,资源占用低。官网源码项目GogsGiteaGitLab体积小中大依赖少少多(Ruby、Postgres、Redis)部署非常简单简单复杂功能基本够用比较丰富最全面适用个人、小团队中小型团队企业级、大型组织。
2025-05-29 10:33:08
837
原创 在 Windows 上使用 WSL 安装 Ansible详细步骤
步骤操作启用 WSL安装 Ubuntu更新系统安装依赖安装 Ansible验证创建 inventory文件测试连接。
2025-05-26 15:59:31
462
原创 Ubuntu软件仓库与更新源配置指南
Ubuntu 通过预设的软件仓库(Repository)提供软件包,包含系统核心组件、第三方应用及安全更新。更新源是仓库的服务器地址列表,默认指向 Ubuntu 官方服务器或镜像站点。:Ubuntu 20.04 LTS(Focal Fossa)的基础仓库。:源代码包仓库(开发者或需要编译时使用,通常可禁用)确认仓库组件是否启用(如 universe)。:移除不再使用的 PPA 或第三方仓库。:二进制软件包仓库(普通用户使用):向后移植的新功能(非必需)。:关键安全更新(必须启用)。,可能导致系统不稳定)。
2025-05-20 14:40:55
1269
原创 mysqlbinlog用法详解
是 MySQL 提供的用于解析和查看二进制日志(binlog)的工具。二进制日志记录了数据库的所有数据变更操作(如 INSERT、UPDATE、DELETE),常用于数据恢复、主从复制等场景。:恢复前务必备份当前数据,避免二次损坏。版本与 MySQL 服务器版本一致。:操作 binlog 需具有。:时间参数需严格遵循。
2025-05-15 16:30:06
432
原创 CAN(控制器局域网络)协议详解
增加了数据传输速率(最高 8 Mbps)和数据长度(8 到 64 字节)。,它提供了标准化的 CAN 网络接口,可以像网络接口一样操作 CAN 设备。硬件设备如 USB-CAN 模块或 PCI-CAN 卡需要安装驱动。,具有高可靠性和实时性,广泛应用于汽车、工业控制、医疗设备等领域。如果波特率设置不一致,不同节点之间将无法正常通信。是一种用于设备之间通信的串行通信协议,最初由。任何节点都可以主动发送数据,不存在主从关系。用于确定优先级,ID 数值越小,优先级越高。,多个节点(设备)共享一条总线。
2025-05-13 18:01:20
1283
原创 vs code 配置自动格式化代码
在VSCode中配置自动格式化,首先需要安装Prettier和ESLint扩展。接着,通过修改settings.json文件,设置保存时自动格式化、粘贴时自动格式化等选项,并指定默认的格式化工具为Prettier。此外,可以为不同文件类型配置特定的格式化器。如果项目中使用Prettier和ESLint,还需在项目根目录下安装相关依赖,并创建.prettierrc.json和.eslintrc.js文件进行配置。最后,通过保存文件验证自动格式化是否生效,确保代码能按照Prettier和ESLint的规则自动调
2025-05-13 10:39:18
1211
原创 git 远程仓库管理详解
Git 的远程仓库管理是多人协作和代码共享的核心功能。以下是 Git 远程仓库管理的详细说明,包括常用操作、命令和最佳实践。:存储在网络服务器上的 Git 仓库,用于团队协作或备份代码(如 GitHub、GitLab、Gitee 等平台)。:检查 SSH 密钥或 HTTPS 密码是否正确。:拉取代码后合并冲突,手动解决并提交。:开发者本地的 Git 仓库,通过。:更安全且免密操作(配置方法见。:保护主分支,禁止直接。:确保分支已推送或使用。
2025-05-08 09:18:29
771
原创 linux命令>/dev/null 2>&1的含义
的经典操作,目的是让命令静默执行(不显示任何输出和错误)。:一个特殊的“空设备”文件,所有写入它的内容会被丢弃(类似黑洞)。:表示将某个输出指向和标准输出(文件描述符。:重定向符号,将命令的输出写入指定位置。:让命令静默运行(不产生任何输出)。重定向到标准输出的位置(即跟随。:重定向标准错误(文件描述符。后台任务或脚本中不需要日志时。:标准输出(stdout):标准错误(stderr)(标准错误)的重定向逻辑。:标准输入(stdin):简化写法,效果等同于。(仅限 Bash)。调试时临时屏蔽输出。
2025-05-07 10:07:20
556
原创 git “分离头指针”(detached HEAD) 状态。
状态含义当前处于 detached HEAD 状态,直接指向提交5b596b5正常状态,HEAD 指向某个分支💡 提示在 detached HEAD 状态下提交的内容容易丢失,记得及时创建分支保存。
2025-05-06 10:04:49
775
原创 使用frpc链接内网的mysql
在 frps 服务器防火墙中,仅允许特定 IP 访问。日志是否有错误(如端口冲突或网络不通)。输入密码后,若成功登录,说明配置完成。确保内网机器可以访问 frps 的。,假设 frps 的默认端口为。修改 MySQL 配置文件(如。:已部署在公网 IP 1。)访问内网 MySQL。确保 MySQL 用户。确认 MySQL 的。,表示隧道建立成功。
2025-04-30 12:03:06
620
原创 Workerman定时器任务管理
定时器 ID 保存在内存中,进程重启后会丢失,需外部存储(如 Redis)记录关键任务状态。在 Workerman 中管理定时任务(启动、重启、停止)需要结合。:多台服务器时,使用 Redis 锁或数据库标记确保任务唯一性。类和 Worker 进程的生命周期。回调中注册,Worker 进程启动后自动执行。重启需要先停止旧任务,再重新注册新任务。:多进程操作时,使用锁机制避免竞争条件。:如果只需要一个进程运行定时任务,在。方法停止指定定时器。
2025-04-24 10:35:54
521
原创 php 框架Workerman定时任务详解《一》
通过合理使用 Workerman 的定时任务,可以高效处理后台逻辑,尤其适合需要长连接或高实时性的场景。对于复杂调度需求,建议结合外部工具(如 Redis 或数据库)实现分布式任务管理。默认情况下,每个 Worker 进程都会创建自己的定时器。类实现,能够方便地处理周期性或延迟任务。长时间运行的定时任务需注意内存泄漏,避免在闭包中累积变量。:多机部署时,使用 Redis 锁确保任务唯一性。:高精度定时(如 <1 秒)需考虑系统负载。:耗时任务应异步处理(如投递到队列)。: 时间间隔(秒),支持小数(如。
2025-04-24 10:31:51
506
原创 Ubuntu 系统中修改 MySQL 的 sql_mode
需要编辑 MySQL 的配置文件并重启服务。)可能导致无效数据被插入,建议优先修复数据或表结构。在 Ubuntu 系统中修改 MySQL 的。通过以上步骤,你可以永久修改 MySQL 的。:如果这是生产服务器,确保开发/测试环境的。值中的逗号和双引号是否使用英文符号。已存在其他配置,直接追加这一行。输出应包含你设置的参数,且不包含。检查是否有多个配置文件冲突(如。(APT 安装的默认路径)重启服务时确保有管理员权限。行,直接修改它的值。以屏蔽日期错误问题。
2025-04-18 11:28:40
532
原创 西门子 PLC 定时器详解
例如:使用 100ms 分辨率,延时需 ≥ 2100ms,PT 设为 22(100ms × 22 = 2200ms)IW、QW、VW、MW、SMW、SW、T、C、LW、AC、AIW、*VD、*LD、*AC、常数。若需较长时间,请选择更高分辨率(如 100ms)编号。当前值 ≥ 设定值(PT)时,定时器位 Q 输出接通。若在延时期间输入再次接通,则计时中断,输出保持接通。当输入 IN 为接通(TRUE)时,开始计时。输入接通时,输出立即接通,当前值 = 0。输入接通时开始计时,断开时。输入断开后开始计时。
2025-04-14 11:53:26
1233
原创 iptables 使用手册
iptables是 Linux 系统上用于配置网络包过滤规则的核心工具,通过操作内核的 Netfilter 框架实现防火墙、NAT、端口转发等功能。本手册涵盖其语法、命令选项及实际应用场景。
2025-04-11 10:51:49
909
原创 用shell脚本实现自动监控并封禁连接数超过阈值的IP
设置连接数阈值(200)、白名单IP、日志路径和封禁时间(24小时)。获取所有TCP连接,提取远程IP并统计连接数。:跳过白名单中的IP,并检查IP格式的有效性。写一个 shell 脚本,创建脚本文件。:若IP连接数超过阈值且未被封禁,则通过。强制终止现有连接(如果可用)。命令在封禁时间后移除。
2025-04-11 10:47:18
393
原创 定位、分析和解决网络攻击的方法
如果该 IP 属于未知地区或高风险 ASN(如黑客常用主机商),则更可能是攻击源。(如 80/443 可能是 CC 攻击,22 可能是 SSH 爆破)。是否属于你的业务合作伙伴、CDN 或云服务商(如腾讯云内网 IP)。:攻击者探测服务器开放端口(如 SSH、Redis 未授权访问)。:通过高频 HTTP/TCP 连接耗尽服务器并发资源。连接数过高,可能是 SYN Flood 攻击。:服务器被植入木马后对外发起攻击或通信。(通过高频连接耗尽服务器资源)。(尝试探测漏洞或建立后门)。如果不是,则需立即封禁。
2025-04-09 10:16:30
1113
原创 压缩技术的基本原理
将数据转换到频域,保留主要成分(如JPEG使用DCT,MP3使用傅里叶变换)。:利用相邻数据的相关性预测下一个值,仅存储误差(如JPEG-LS)。:根据数据类型选择最优压缩策略(如文本用LZ77,图像用RLE)。:针对特定数据优化(如压缩英文文本和压缩二进制文件的字典不同)。:使用滑动窗口记录历史数据,用(距离,长度)表示重复片段。无损压缩:消除统计冗余,适用于精确数据(如文本、程序)。:PNG(Deflate)、JPEG(DCT+量化)。:MP3(心理声学模型)、FLAC(无损压缩)。
2025-04-09 09:58:44
506
原创 西门子plc中梯形图的位逻辑符号含义和用法详解
常开触点表示一个条件变量(比如输入信号、存储器位、输出状态等)。触发器(Set-Reset Flip-Flop)。触发器(Reset-Set Flip-Flop)。:用于控制输出设备(如继电器、电磁阀、灯等)。只要前面的逻辑条件成立(导通),就会激活输出。:设定(Set)输出,保持状态不变,直到复位。控制的电路,例如按一次开,按一次关。:常闭触点是常开触点的相反状态。时,触点导通(允许电流通过)。时,触点断开(电流不能通过)。时,触点断开(电流不能通过)。时,触点导通(允许电流通过)。
2025-04-03 15:35:00
3012
原创 top命令使用详解
top是 Linux 系统中用于实时监控系统资源使用情况和进程活动的经典工具。它可以动态显示系统的 CPU、内存、进程负载等信息,是性能分析和故障排查的重要工具。以下是top:动态更新系统状态(默认 3 秒刷新一次)。:显示进程的 CPU、内存占用、运行状态等。:支持快捷键调整排序、筛选进程等。top [选项]-d <秒>top -d 1-p <PID>-u <用户>-n <次数>-b-HtopH在toph?
2025-03-31 11:02:14
1500
2
原创 Go工具命令及使用指南
Go 是一个用于管理 Go 源码的命令行工具,支持代码编译、依赖管理、测试、格式化等操作。启动一个模板,用于提交 Go 语言的 Bug 报告(自动填充环境信息)。自动更新旧版 Go 代码的 API 到新版语法(用于升级兼容性)。静态分析代码,报告潜在错误(如无效的格式化字符串、未使用的变量)。格式化代码(自动调整缩进、空格等,遵循 Go 官方风格)。显示包或符号(如函数、类型)的文档(类似快速查看手册)。直接编译并运行 Go 程序(适合快速测试单个文件)。适用于需要同时开发多个模块的场景(如微服务项目)。
2025-03-24 09:53:57
635
原创 Go语言中package的使用规则《二》
Go 编译器严格禁止包之间的循环引用,需通过重构代码(如提取公共逻辑到独立包)解决。目录下的包,仅允许其父目录及其子目录的包导入(Go 1.4+ 特性)。每个包应专注于单一职责,避免“上帝包”(God Package)。同一包内的多个文件可直接访问彼此的未导出成员,无需导入。:直接访问包成员,无需包名前缀(慎用,易引发命名冲突)。一个包对应一个目录(文件夹),目录名通常与包名一致。函数,不直接使用包(常用于注册驱动或初始化)。:提取公共代码到新包,或使用接口解耦。(外部测试包)或原包名(内部测试)。
2025-03-20 14:06:58
1353
原创 Go语言反射机制详解
Go的反射功能强大,但应谨慎使用。在需要处理未知类型或动态行为时,反射是理想工具,但在已知类型的情况下,直接代码更高效、更安全。理解。
2025-03-20 09:13:00
1103
Clonezilla 磁盘克隆工具
2024-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人