- 博客(8394)
- 资源 (18)
- 收藏
- 关注
原创 Mayfly-Go工具:通过Web界面实现了对服务器、数据库和缓存系统的高效管理
Mayfly-Go是一款近年来备受关注的开源工具,被誉为“Web版Linux+数据库(MySQL、Redis、MongoDB等)统一管理平台”,其功能强大且操作便捷,深受运维和开发人员的喜爱。这款工具不仅简化了复杂的命令行操作,还通过Web界面实现了对服务器、数据库和缓存系统的高效管理,堪称现代运维和开发的“瑞士军刀”。Mayfly-Go是一款集成了Linux、数据库和缓存系统管理的一站式开源工具,凭借其简洁高效的特性,正在迅速成为运维和开发领域的热门选择。
2025-05-19 20:28:13
226
原创 限制用户访问的MySQL客户端工具推荐
这些方案可以根据您的具体安全需求进行组合使用,实现严格的访问控制。:创建自定义脚本包装MySQL命令行客户端。
2025-05-19 17:28:44
167
原创 mysql从库设置了super read only全局只读,root用户还可以执行kill杀死线程吗
在MySQL从库上设置super read-only模式后,root用户仍可执行KILL命令。super_read_only=ON主要限制数据修改操作(如DML/DDL),但允许管理性操作。KILL命令属于服务器管理范畴,不受只读模式限制。验证测试显示,root用户可成功执行KILL命令,但写操作会被拒绝。若需完全禁止KILL操作,可创建无SUPER权限的管理用户或使用MySQL企业版的权限控制功能。总结:super read-only模式下,root用户仍可执行KILL命令。
2025-05-19 16:59:22
224
原创 查看MySQL数据库中所有MyISAM表的方法
当使用--no-lock参数进行备份时,了解哪些表是MyISAM引擎非常重要,因为这些表不会被正确备份。
2025-05-19 16:12:36
96
原创 innobackupex 备份MySQL从库启用 --no-lock 参数时获取binlog二进制日志位置的方法
在使用 innobackupex 或 xtrabackup 的 --no-lock 参数时,由于跳过了全局读锁,无法自动获取二进制日志位置。本文提供了几种解决方案:1. 使用 --no-lock 配合 --safe-slave-backup,适用于从库备份,能获取准确的binlog位置,但会短暂中断复制;2. 手动获取binlog位置,先获取binlog位置,再执行无锁备份,最后记录binlog位置到备份目录;3. 使用元数据锁(MDL)替代全局锁,适用于MySQL 5.7及以上版本,对业务影响更小;4.
2025-05-19 16:11:26
208
原创 innobackupex 备份工具参数详解:--no-lock, --ftwrl-wait-timeout, --ftwrl-wait-threshold
这三个参数都与Percona XtraBackup/innobackupex工具在备份过程中处理表锁的方式相关,下面我将详细解释每个参数的作用和使用场景。
2025-05-19 16:09:43
211
原创 强行结束xtrabackup innobackupex备份进程及释放全局读锁的方法
在使用innobackupex或percona-xtrabackup进行MySQL备份时,若备份进程执行时间过长导致全局读锁(FLUSH TABLES WITH READ LOCK)持有时间过长,需安全终止备份进程并释放锁。首先,通过命令行或SQL查询识别备份进程和锁状态。然后,可选择直接终止备份进程或使用Percona Toolkit终止相关会话。终止后,需验证锁是否释放,并清理残留文件。为预防类似问题,可优化备份参数、限制备份时间、使用锁超时参数或考虑无锁备份。此外,可编写自动化处理脚本检测并终止长时间
2025-05-19 16:08:04
113
原创 使用Percona Toolkit 的 pt-kill 释放MySQL全局读锁
Percona Toolkit 提供了一系列工具来管理和优化 MySQL 数据库,其中包括处理锁问题的功能。虽然 Percona Toolkit 没有直接释放全局读锁的命令,但可以通过 pt-kill 工具间接实现。首先,使用 SHOW PROCESSLIST 或查询 information_schema.processlist 来识别持有全局读锁的会话,然后使用 pt-kill 终止这些会话。文章还提供了一个完整的 Shell 脚本,用于自动检查和释放全局读锁。需要注意的是,强制终止会话可能会中断重要操作
2025-05-19 16:06:12
229
原创 Golang代码案例:实现MySQL全局读锁释放功能
本文介绍了如何使用Golang实现MySQL全局读锁的释放功能。代码通过MySQLConfig结构体配置数据库连接,并使用sql.Open建立连接。程序首先检查Com_flush_tables_with_read_lock状态变量,判断是否存在全局读锁。如果存在,则通过执行UNLOCK TABLES语句尝试释放锁,并包含最多3次的重试机制。代码还提供了详细的错误处理和日志记录。使用前需确保具备足够的MySQL权限,并在生产环境中充分测试。
2025-05-19 12:22:10
163
原创 使用 Glowroot 监控数据库连接
Glowroot 提供了数据库连接监控的功能,可以帮助跟踪和分析应用程序与数据库的交互情况,识别潜在的性能问题。
2025-05-19 10:51:37
231
原创 HikariCP数据库连接池启用JMX监控
使用专业的APM(Application Performance Management)工具,如New Relic、Dynatrace等,它们通常具有更强大的功能来监控应用性能并能检测到连接泄漏等问题。总之,虽然Spring Boot Actuator不能直接帮助你诊断数据库连接泄漏的问题,但结合上述方法,你应该能够找到潜在的问题所在,并采取相应的措施加以解决。:在某些情况下,通过增加数据库连接获取和释放的日志级别,可以有助于发现问题。例如,如果你使用的是HikariCP作为连接池实现,你可以查看类似。
2025-05-19 10:50:52
183
原创 Spring Boot Actuator在HZero框架中的配置及使用方法
HZero是一个开源的企业级微服务框架,专为构建大型分布式系统设计。其管理端点基于Spring Boot Actuator实现,开发者可通过以下步骤访问这些端点:首先,确保项目中已引入Spring Boot Actuator依赖;其次,在配置文件中开启并暴露所需端点;接着,可选地通过Spring Security进行安全配置以防止未授权访问;最后,通过浏览器或工具如Postman访问端点,默认地址格式为http://<ip>:<port>/actuator/<endpoint&
2025-05-19 10:49:48
104
原创 n8n、Dify和Coze的联系与区别
n8n、Dify和Coze是当前市场上三种主要的自动化工作流工具,各具特色。n8n作为开源工具,强调灵活性和高度可定制性,适合复杂流程的企业用户;Dify专注于AI应用开发,降低技术门槛,适合快速构建AI驱动的应用;Coze则定位于零代码平台,强调易用性,适合非技术团队快速搭建轻量级应用。三者均支持API集成和AI模型集成,但在定位、技术架构、适用场景、生态支持和定价上存在差异。选择工具时需根据具体需求、团队能力和预算进行权衡。
2025-05-18 17:22:24
528
原创 Java CopyOnWriteArrayList 及写时复制机制详解
CopyOnWriteArrayList是Java并发包中提供的一种线程安全的List实现,采用"写时复制"(Copy-On-Write, COW)技术来保证线程安全。其核心思想是读取操作直接访问当前数据结构,而写入操作则先复制整个数据结构,在副本上进行修改,最后替换原数据结构。这种机制特别适合读多写少的场景,因为读取操作无锁,性能极高,而写入操作通过复制保证线程安全。CopyOnWriteArrayList的优点是读取性能高、线程安全、迭代安全,缺点是内存占用大、数据一致性弱、不适合频
2025-05-17 22:22:51
303
原创 Apache Doris Compaction参数配置方案
本文提供了Apache Doris Compaction参数配置与优化的详细指南,旨在提升Compaction效率并预防版本不连续问题。文章首先介绍了如何查看当前BE节点配置和特定参数值,以及通过BE日志查看运行时参数的方法。接着,详细列出了基础效率参数、MoW专用优化参数和资源控制参数的默认值及优化建议。文章还介绍了参数的动态修改和持久化修改方法,并提供了预防版本不连续的特殊配置建议。此外,还介绍了实时监控命令、关键监控指标和自动化调优脚本示例,最后给出了分时段策略、表级别定制和硬件适配的最佳实践建议。通
2025-05-17 21:44:41
368
原创 Apache Doris中的Compaction(压缩合并)操作详解
Apache Doris中的Compaction操作是存储引擎的核心后台任务,尤其在Merge-on-Write (MoW)模式下至关重要。Compaction通过合并小文件为更大文件,优化存储空间、提升查询性能、规整数据并处理版本合并。MoW模式下,Compaction还需处理删除标记和部分列更新。Compaction分为Cumulative Compaction和Base Compaction,前者频繁且资源消耗小,后者周期长且资源消耗大。工作流程包括候选集选择、数据合并、索引重建和元数据提交。关键配置
2025-05-17 21:43:37
683
原创 Doris Merge-on-Write(MoW) 数据版本连续性机制详解
Apache Doris中的"数据版本连续性"是Merge-on-Write (MoW)机制的核心概念,确保数据修改操作按照严格的版本号顺序进行,避免版本号跳跃或缺失。每个操作分配一个全局单调递增的版本号,形成连续的版本链。版本不连续可能导致数据一致性风险、系统稳定性问题和运维复杂度增加。常见原因包括节点异常、网络问题、并发控制问题和运维操作不当。Doris通过写入路径保障、检查机制和恢复机制来确保版本连续性。开发者和运维人员需注意应用层设计、运维实践和问题排查,以维护系统的稳定性和数据
2025-05-17 21:41:57
757
原创 Apache Doris与Merge-on-Write (MoW)机制相关的常见报错:version not continuous for mov(版本不连续)
Apache Doris在使用Merge-on-Write (MoW)机制时,可能会出现版本连续性错误,如示例中的错误信息所示。这种错误通常是由于BE节点异常重启、高并发导入、网络问题或磁盘故障导致的版本号不连续。短期恢复措施包括重启BE节点和手动触发Compaction,而长期解决方案则涉及检查硬件稳定性、调整配置参数和升级到最新版本。预防措施建议监控相关指标、避免频繁启停节点、控制并发度以及合理设置分区和分桶。这类错误多发生在异常情况或极端压力测试场景下,正常情况下较少出现。
2025-05-17 21:39:57
271
原创 Apache Doris的Merge-on-Write (MoW) 机制详解
Apache Doris的Merge-on-Write (MoW) 机制是一种优化主键模型查询性能的关键技术,自Doris 2.0版本引入并在2.1版本后成为默认存储方式。MoW通过在数据写入时完成新旧数据的合并,显著提升了查询性能,相比传统的Merge-on-Read (MoR)机制,查询性能可提升5-10倍。MoW采用"Delete + Insert"的方式处理更新,支持部分列更新和并发控制,适用于高查询负载、频繁点查和部分列更新等场景。尽管MoW在写入性能和Compaction压力
2025-05-17 21:36:07
797
原创 K8S APIServer 的默认安全端口是 6443及其调整方法
Kubernetes API Server 的默认安全端口是 6443,若需调整为 7443,需修改其配置。对于 kubeadm 部署的集群,编辑 /etc/kubernetes/manifests/kube-apiserver.yaml,修改 --secure-port 参数和 ports 部分;对于二进制部署的集群,修改 systemd 服务文件并重启服务。同时,需更新负载均衡器配置和客户端的 kubeconfig 文件。验证更改后,确保证书、防火墙规则及高可用集群的同步调整。
2025-05-16 20:21:07
326
1
原创 DeepSeek 在编程开发中的多元应用场景分析
身为一名程序员,你是否在面对复杂代码时感到无从下手?是否为了实现一个功能,在无数个日夜中反复调试、修改,却依旧难以达到理想效果?又是否在项目截止日期的压力下,为了提高编程效率而绞尽脑汁?相信许多程序员都有过类似的经历,在编程的道路上,我们时常面临着代码编写繁琐、效率低下、错误排查困难等诸多难题 ,这些问题不仅消耗了我们大量的时间和精力,也在一定程度上阻碍了项目的顺利推进。不过现在,有一个好消息要告诉大家!
2025-05-16 11:42:03
595
原创 html代码案例:俄罗斯方块网页游戏
以下是一个完整的俄罗斯方块网页游戏的HTML代码。将这段代码复制到一个.html文件中,用浏览器打开即可玩。游戏说明游戏控制:游戏功能:游戏规则:将上述代码保存为HTML文件后,用浏览器打开即可开始游戏。
2025-05-16 10:08:11
312
原创 K8S集群实现 Master 节点的高可用(HA)方案
Kubernetes Master 节点的高可用可通过多实例部署、负载均衡、Leader Election 等机制实现,且所有核心组件(API Server、etcd 等)均支持容器化部署。负载均衡器、监控工具等辅助组件也可通过容器灵活管理。实际部署时需结合集群规模、运维复杂度及云环境特性选择合适方案。
2025-05-16 10:00:17
810
原创 HAProxy介绍、安装、使用示例及为 HAProxy 配置 Keepalived 实现 VIP 漂移
HAProxy 是构建 Kubernetes 高可用集群的关键组件,通过简单配置即可实现 API Server 流量的可靠分发。结合 Keepalived 可进一步提升负载均衡器自身的可用性。配置时需注意模式选择(TCP/HTTP)、健康检查策略及证书管理(如需 HTTPS)。软件,广泛应用于高可用架构中,能够将流量分发到多个后端服务器,提升服务的可靠性和扩展性。若需避免单点故障,可为 HAProxy 配置 Keepalived 实现 VIP 漂移。,需将 6443 端口的流量分发到后端节点。
2025-05-16 09:44:36
318
原创 K8S集群admin.conf配置文件在master节点的差异点
在 Kubernetes 多 Master 节点的高可用(HA)集群中,admin.conf 文件的 server 字段默认指向本机 IP,这可能导致单点故障,破坏高可用性。为实现高可用,需统一所有 Master 节点的 admin.conf,使其指向负载均衡器的 VIP 或域名。可以通过手动修改或使用 scp 复制统一配置来实现。此外,API Server 的证书必须包含负载均衡器的 SAN,否则会导致 TLS 握手失败。操作步骤包括修改 server 字段、复制配置文件、加入新节点并验证配置一致性。确保
2025-05-16 09:35:46
768
原创 基于Dify、RAGFlow和FastGPT实现Excel表格数据与大模型结合的RAG知识库智能问答
本文探讨了如何结合Dify、RAGFlow和FastGPT实现Excel表格数据与大模型的智能问答需求。通过对比三者的核心能力,文章提供了针对不同场景的工具组合方案:复杂表格处理推荐RAGFlow与FastGPT结合,多模型协作场景适合使用Dify,而快速部署场景则推荐FastGPT。此外,文章还提出了进阶优化策略、安全与部署建议,并总结了各工具的适用场景。最终建议从FastGPT快速验证MVP,逐步引入RAGFlow和Dify以实现企业级扩展。
2025-05-15 21:14:02
809
原创 离线环境扩展K8S集群master节点:新增master节点全流程
本文详细介绍了在离线环境下扩展 Kubernetes 集群高可用 Master 节点的步骤。首先,规划集群节点角色,包括已有 Master 节点、新 Master 节点、负载均衡器节点和 Worker 节点。接着,分阶段进行操作:准备离线依赖,包括下载 Kubernetes 组件和导出容器镜像;配置新 Master 节点,安装容器运行时和 Kubernetes 组件;生成 Join 命令,创建 Token 和证书密钥;执行 Join 命令,加入新 Master 节点;最后验证集群状态,确保节点和核心 Pod
2025-05-15 17:06:16
643
原创 Linux swap 内核参数解读:vm.swappiness 参数详解
vm.swappiness 是 Linux 内核中控制 Swap 空间使用倾向的参数,取值范围为 0 到 100,默认值为 60。值越高,系统越早使用 Swap;值越低,系统尽量使用物理内存。值为 0 时,除非内存耗尽,否则不使用 Swap。推荐设置因场景而异:桌面系统建议 30-60,数据库服务器建议 1-10,内存充足系统建议 1-10,内存紧张系统建议 30-60。可以通过 sysctl 命令临时修改,或编辑 /etc/sysctl.conf 文件永久修改。高 swappiness 可能导致频繁磁盘
2025-05-15 14:15:11
407
原创 Linux 执行 swapon /swapfile 命令时报错,提示:invalid argument
在执行 sudo swapon /swapfile 时遇到 "invalid argument" 错误,通常是由于 Swap 文件格式不正确或文件系统不支持 Swap。解决方法包括:确保文件已使用 mkswap 正确格式化;检查文件是否正确创建,避免使用 fallocate,改用 dd 命令;确认文件系统支持 Swap,如 ext4/XFS;检查内核是否支持 Swap 文件;若使用 CentOS 7,检查 SELinux 是否阻止 Swap;最后,确认当前系统是否已具备足够的 Swap。
2025-05-15 11:15:23
316
原创 linux CentOS7 增加Swap空间的两种方法:临时解决内存不足的问题
在CentOS 7上增加Swap空间可以有效缓解内存不足的问题。推荐的方法是创建新的Swap文件,具体步骤包括检查当前Swap使用情况、创建Swap文件、设置权限、格式化并启用Swap文件,最后通过修改/etc/fstab文件使其永久生效。如果使用LVM,还可以通过调整Swap分区大小来增加Swap空间。此外,可以通过调整swappiness值来优化Swap使用。需要注意的是,Swap空间位于硬盘上,速度较慢,且频繁使用可能影响SSD寿命。建议根据内存大小合理设置Swap空间,通常内存小于2GB时Swap为
2025-05-15 10:18:29
381
原创 手动启动 MySQL 从库的 SQL 线程 SQL_THREAD
要手动启动 MySQL 从库的 SQL 线程,可以通过以下步骤操作:首先,使用 SHOW SLAVE STATUS\G 检查复制状态,确认 Slave_SQL_Running 是否为 "No"。如果仅 SQL 线程停止,可以执行 START SLAVE SQL_THREAD 单独启动 SQL 线程,或使用 START SLAVE 同时启动 IO 和 SQL 线程。启动后,再次检查状态确认是否成功。若 SQL 线程因错误停止,可尝试跳过错误、设置幂等模式或重置复制位置,但需谨慎操作,避免影
2025-05-14 09:19:53
618
原创 Sealos Run 的工作原理
Sealos Run 是一个用于部署和管理 Kubernetes 集群的命令工具,其工作原理可分为九个主要步骤。首先,用户通过执行 sealos run 命令启动流程。接着,Sealos 执行一系列操作(Pipeline),包括节点检查、镜像拉取、配置渲染、镜像文件分发、Registry 目录分发以及 Bootstrap 执行(如添加 Host 解析、执行初始化脚本等)。随后,Sealos 进入 InitMaster0 阶段,生成 Kubeadm 配置、分发证书文件并初始化 Master0 节点。之后,通过
2025-05-13 09:59:53
1083
原创 Sealos镜像构建的改进指南
本文介绍了如何改进Sealos镜像构建过程,以提升效率并优化镜像管理。通过使用registry-proxy和skopeo copy工具,实现了镜像仓库的同步功能。文章详细解析了Sealos镜像构建的核心步骤,包括缓存镜像和构建镜像,并指出了现有方法的优缺点。为了解决现有问题,Sealos引入了新的构建方式——镜像仓库同步,并提供了启动新功能的简单步骤。用户只需在构建镜像前设置环境变量即可启用新功能,该功能已在Sealos v4.3.0及以上版本中默认支持。
2025-05-12 17:28:48
915
原创 Sealos镜像构建与标准化目录配置
本文介绍了Sealos镜像构建的标准化目录配置及Kubefile参数的使用,旨在优化Kubernetes部署流程。通过构建符合规范的目录结构,如Kubefile、manifests、charts等,可以提高构建过程的规范性和效率,降低错误率。文章详细解释了每个目录的用途,并提供了Kubefile中关键参数的解析,如FROM、ENV、COPY、ENTRYPOINT和CMD,帮助用户更好地理解和应用这些配置。通过遵循这些指南,用户可以更高效地管理和部署Kubernetes应用。
2025-05-12 17:26:37
619
原创 使用sealos命令轻松升级K8S集群
使用 sealos 命令可以轻松升级 Kubernetes 集群。只需运行 sealos run labring/kubernetes:<新版本号> 即可完成升级。升级过程中,系统会提示确认操作,输入 'y' 继续。如果升级失败,可以重新运行命令,确保结果一致。需要注意的是,升级不能跨过次版本号,例如从 v1.23.0 直接升级到 v1.25.0 是不允许的,需分步进行。升级成功后,旧版本镜像将被替换,新增节点将应用新版本。如遇问题,可查阅相关文档或寻求帮助。
2025-05-12 17:24:31
434
原创 使用Go模板语法编写Clusterfile并通过sealos部署K8S集群
本文介绍了如何使用Go模板语法编写Clusterfile,并通过sealos工具部署Kubernetes集群。文章详细展示了如何创建Clusterfile.yaml文件,利用Go模板语法动态配置集群名称、主机IP、镜像、SSH设置等参数。同时,提供了自定义的example.values.yaml文件示例,用于定义具体的集群配置。最后,通过sealos apply命令结合Clusterfile和values文件,实现集群的快速部署。该方法类似于Helm的模板功能,但暂不支持部分高级模板函数。
2025-05-12 17:20:59
373
原创 使用Sealos的Config对象在运行时对应用镜像进行补丁操作,创建和自定义node-local-dns应用镜像及其运行时环境
Sealos 提供了 Config 对象,用于在运行时对应用镜像进行补丁操作,从而自定义应用镜像及其运行时环境。本文以创建和配置 node-local-dns 应用镜像为例,展示了如何使用 Config 对象。首先,通过 Kubefile 和 Helm Chart 创建 node-local-dns 应用镜像,并使用 sealos build 命令构建镜像。接着,通过 Clusterfile 定义集群配置,并使用 Config 对象对 node-local-dns 的配置文件进行补丁操作,实现自定义配置。C
2025-05-12 17:17:34
331
原创 使用sealos生成和应用Clusterfile,自定义配置K8S集群
本文介绍了如何使用 sealos 工具生成和应用 Clusterfile,以自定义配置 Kubernetes 集群。通过 sealos gen 命令,用户可以指定 Kubernetes 版本、主节点和工作节点的 IP 地址,生成一个 Clusterfile。该文件定义了集群的配置,包括主机角色、镜像、SSH 设置等。用户可以根据需要修改 Clusterfile,例如调整 Pod 的 CIDR 范围,然后使用 sealos apply -f Clusterfile 命令应用配置并启动集群。生成的 Cluste
2025-05-12 17:14:03
296
Spring security+jwt服务鉴权完整代码.zip
2019-09-09
spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip
2019-09-03
spring mvc 4+mybatis 3+bootstrap+逆向工程+分页插件实现增删改查完整项目源码
2018-07-01
Premiere CS4教程——制作一个简单的相册
2013-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人