随笔分类 -  MySQL

1 2 3 4 5 ··· 12 下一页

Oracle/PostgreSQL/SQL Server NULL 与空字符串差异
摘要:在 SQL 开发中,NULL 和空字符串('')的处理是高频踩坑点。不同数据库对两者的定义、存储方式及约束支持存在显著差异,若不明确这些区别,容易导致数据查询异常、约束冲突等问题。本文基于 ANSI SQL-92 规范,结合 Oracle、PostgreSQL、SQL Server 的特性,详解三者 阅读全文

posted @ 2025-11-28 09:22 数据与人文 阅读(19) 评论(0) 推荐(0)

MySQL8.0中utf8mb4详解
摘要:在 MySQL 数据库中,字符集的选择直接影响数据存储的完整性与兼容性,尤其是在全球化应用场景下。utf8mb4 作为 MySQL 中支持最广泛的字符集,解决了早期 utf8 字符集的局限性,成为处理多语言、特殊符号(如 Emoji)的首选方案。本文基于 MySQL8.0 版本,从字符集原理、utf 阅读全文

posted @ 2025-11-03 09:52 数据与人文 阅读(41) 评论(0) 推荐(0)

MySQL 8.0 长事务排查
摘要:在 MySQL 数据库运维中,长事务是常见的性能 “隐形杀手”—— 它可能导致锁等待堆积、事务日志(undo/redo log)膨胀、甚至拖慢整个实例的并发能力。尤其是 MySQL 8.0 版本对事务监控机制做了优化,借助performance_schema和sys库,我们能更精准地定位长事务问题。 阅读全文

posted @ 2025-10-15 09:24 数据与人文 阅读(85) 评论(0) 推荐(0)

MySQL 8.0 InnoDB ReplicaSet 完整配置指南与切换
摘要:在中小规模 MySQL 高可用架构中,InnoDB ReplicaSet 凭借其轻量、易配置、原生适配 MySQL 的特性,成为替代传统主从复制的优选方案。它基于 GTID(全局事务标识符)实现数据同步,支持手动 / 自动故障转移,无需依赖外部组件(如 MHA),大幅降低运维复杂度。本文将以 MyS 阅读全文

posted @ 2025-09-29 09:28 数据与人文 阅读(40) 评论(0) 推荐(0)

MySQL processes, threads, connections的区别
摘要:在 MySQL 中,processes(进程)、threads(线程)和connections(连接)是三个紧密相关但含义不同的概念,分别对应数据库服务器的运行实体、执行单元和客户端会话通道。理解它们的区别与关联,对 MySQL 性能调优、连接管理和问题排查至关重要。 一、核心定义与本质区别 1. 阅读全文

posted @ 2025-09-22 09:38 数据与人文 阅读(39) 评论(0) 推荐(0)

如何配置优化 innodb_log_file_size 参数
摘要:在 MySQL InnoDB 存储引擎的性能调优体系中,innodb_log_file_size是少数能直接影响 “事务处理效率” 与 “系统可靠性” 的核心参数。作为 InnoDB redo 日志(重做日志)的单文件大小配置,它通过控制日志循环频率、脏页刷新策略,间接决定了数据库的写 I/O 吞吐 阅读全文

posted @ 2025-09-17 10:05 数据与人文 阅读(226) 评论(0) 推荐(0)

pt-online-schema-change:MySQL 在线表结构修改工具
摘要:在 MySQL 数据库运维中,表结构修改(如增减字段、调整索引、分区设置等)是常见需求,但传统ALTER TABLE命令会对表加锁,导致读写操作阻塞,尤其在生产环境的大表上,可能引发业务中断。而pt-online-schema-change(简称 pt-osc)作为 Percona Toolkit 阅读全文

posted @ 2025-09-15 09:16 数据与人文 阅读(263) 评论(0) 推荐(0)

MySQL Error Log: Got packets out of order
摘要:在MySQL错误日志中发现有偶发的如下信息: 1 2 3 4 5 6 7 2024-09-13T15:55:29.489324+08:00 26750047 [Note] [MY-010914] [Server] Got packets out of order 2024-09-13T15:55:2 阅读全文

posted @ 2025-09-04 08:56 数据与人文 阅读(19) 评论(0) 推荐(0)

select into outfile权限设置
摘要:线上库新建账号以后给select权限,但是 select into outfile导出查询结果的时候直接报错: select * from user into outfile '/tmp/user.csv'; ERROR 1045 (28000): Access denied for user ch 阅读全文

posted @ 2025-09-01 08:49 数据与人文 阅读(14) 评论(0) 推荐(0)

MySQL 主从复制延迟排查
摘要:一、案例背景:分表操作引发的 “隐性” 延迟 某业务团队为解决单表数据量过大(千万级)的查询性能问题,设计了分表方案:从 1 张历史大表中读取数据,经过业务逻辑计算后,批量写入 100 个按规则拆分的分表(命名格式为db.t_sharding_XX)。上线初期未发现异常,但次日运维监控告警显示:从库 阅读全文

posted @ 2025-08-26 09:43 数据与人文 阅读(62) 评论(0) 推荐(0)

MySQL 表空却 ibd 文件过大
摘要:一、问题背景:表空却 “吃满” 磁盘的怪事 客户反馈,生产环境中多台 MySQL 主机的 ibd 文件体积异常,部分文件甚至达到数 GB,但通过select count(*)查询对应表,结果均为 0。起初我们推测是 “数据归档后未整理碎片”—— 比如大量 DELETE 操作后,InnoDB 未释放表 阅读全文

posted @ 2025-08-25 11:44 数据与人文 阅读(29) 评论(0) 推荐(0)

MySQL报Got timeout writing communication packets错误
摘要:应用日志显示连接数据库超时,查看MySQL的错误日志,发现大量的如下错误: 1 2 3 4 5 6 7 8 9 10 11 2023-02-14T14:19:48.330743+08:00 696688 [Note] [MY-010914] [Server] Aborted connection 6 阅读全文

posted @ 2025-08-18 08:57 数据与人文 阅读(22) 评论(0) 推荐(0)

sed 命令 CPU 占用 100% 卡死
摘要:在 Linux 系统运维中,sed 作为文本处理的常用工具,以高效简洁著称。但在某次 MySQL 服务器安装 MHA 的过程中,一条看似普通的 sed 命令却突发卡死,CPU 占用率飙升至 100%。本文将还原这一故障的排查过程,解析底层原因并总结规避方案。 一、故障现象:一条 sed 命令的 “异 阅读全文

posted @ 2025-08-11 09:35 数据与人文 阅读(36) 评论(0) 推荐(1)

MySQL 误删表及数据?教你一步步找回数据
摘要:在数据库日常运维中,误删表或数据是令工程师头疼的问题。但只要提前做好准备(开启 binlog 日志 + 定期备份),数据并非无法挽回。本文结合实际操作场景,详细讲解误删 MySQL 表及数据后的完整恢复流程。 一、恢复的前提:做好这两步,不怕误操作 数据恢复的核心依赖两大基础:定期备份和开启 bin 阅读全文

posted @ 2025-07-29 09:09 数据与人文 阅读(1120) 评论(0) 推荐(0)

MySQL 无监听端口故障
摘要:在 MySQL 运维中,"无法连接数据库" 是常见问题,而 "无监听端口" 则是其中较为隐蔽的一类。本文结合实际案例,详细拆解 MySQL 端口未监听的故障排查过程,揭示skip-grant-tables参数背后的隐性影响,帮助运维人员快速定位并解决类似问题。 一、故障现象:连接失败与端口异常 某运 阅读全文

posted @ 2025-07-25 09:00 数据与人文 阅读(46) 评论(0) 推荐(0)

基于 MaxScale 实现 MySQL 读写分离
摘要:在高并发 MySQL 场景中,读写分离是提升数据库性能的核心手段之一。MaxScale 作为 MariaDB 官方推出的开源中间件,凭借灵活的插件机制和对数据一致性的精准控制,成为实现 MySQL 读写分离的优质选择。本文将详细介绍 MaxScale 的工作原理、部署步骤及最佳实践,帮助运维人员快速 阅读全文

posted @ 2025-07-23 08:57 数据与人文 阅读(198) 评论(0) 推荐(0)

MySQL如何有效减少索引失效的情况?
摘要:在 MySQL 数据库中,索引失效是导致慢 SQL 的常见原因之一。要有效减少索引失效的情况,需从索引设计、SQL 编写和数据库架构等多个层面进行优化。以下是具体的解决策略及实践方法: 一、避免在索引列上使用函数或表达式 失效场景 当查询条件对索引列使用函数或表达式时,索引将无法生效: -- 索引失 阅读全文

posted @ 2025-07-22 08:35 数据与人文 阅读(27) 评论(0) 推荐(0)

MySQL覆盖索引详解
摘要:在数据库性能优化领域,索引设计是最基础也最关键的环节。本文通过一个真实的优化案例,深入解析覆盖索引的工作原理与实践价值,展示如何将理论知识转化为实实在在的性能提升。 一、问题场景:慢查询的困境 业务需求与 SQL 现状 某业务系统中有一条统计分析 SQL,对 test 表按 c1 字段分组,通过条件 阅读全文

posted @ 2025-07-21 09:00 数据与人文 阅读(114) 评论(0) 推荐(0)

MySQL 中 replace into 引发主备不一致
摘要:MySQL 中 replace into 引发主备不一致的深度解析 在 MySQL 数据库运维中,replace into语句常被用于处理数据插入与冲突场景,但在涉及自增主键和主备架构时,可能隐藏着不易察觉的一致性风险。本文通过实际案例拆解,深入分析replace into导致主备数据不一致的底层原 阅读全文

posted @ 2025-07-14 10:39 数据与人文 阅读(66) 评论(0) 推荐(0)

从MySQL数据库连接追踪应用异常行为
摘要:在数据库运维中,经常会遇到应用访问数据库出现异常流量的情况。这些异常可能表现为突发的高并发、不合理的查询请求或异常的连接占用,而定位这些问题的根源往往需要结合数据库连接信息与应用行为分析。本文以 MySQL 为例,详细介绍如何通过连接追踪技术定位应用的异常逻辑,帮助运维人员和开发人员快速诊断问题。 阅读全文

posted @ 2025-07-10 08:56 数据与人文 阅读(23) 评论(0) 推荐(0)

1 2 3 4 5 ··· 12 下一页