MySQL触发器实现操作日志自动记录

本文详解如何在MySQL中利用触发器(Trigger)自动记录用户对数据表的增、删、改操作。通过创建源业务表与专用日志表,编写INSERT、UPDATE、DELETE三类后置触发器,捕获OLD/NEW状态及执行用户,实现审计数据的自动化入库。

利用Python脚本进行布尔盲注猜解数据库管理员密码

本文详细解析了针对无回显页面的布尔盲注攻击流程。通过分析单引号注入点,利用length和ascii函数结合Python requests库编写自动化脚本,逐步猜解mysql.user表中用户与密码拼接后的总长度及具体字符,最终成功获取数据库管理员密码。

利用Python脚本进行布尔盲注猜解数据库管理员密码

MySQL查询结果添加自动序号的三种方法

在MySQL中,若需为查询结果集添加自增序号,可通过定义用户变量实现。文章详解了三种常用语法:内联子表初始化、SET语句预处理及直接赋值方式,分析了 (@i:=@i+1) 的执行逻辑与 @ 符号用法区别,帮助开发者快速掌握无窗口函数时的序号生成方案。

MySQL查询NULL与空值陷阱:IS NULL的正确用法

在MySQL数据库中,NULL值不等于任何具体数值,使用等号或不等号查询往往无法得到预期结果。本文结合Navicat环境,详解如何使用IS NULL和IS NOT NULL精确筛选数据,并指出开发中常见的“不等于”漏查NULL的坑,提供完整的排查思路与解决方案。

MySQL查询NULL与空值陷阱:IS NULL的正确用法

MySQL中使用CASE WHEN处理字段为NULL的情况

在MySQL数据库开发中,经常需要处理字段值为NULL的情况。本文详细介绍如何使用CASE WHEN语句结合IS NULL和IS NOT NULL条件,将NULL值替换为指定的默认文本(如“该字段为空”或“暂无数据”),并通过多表关联的实战案例展示其在复杂查询中的应用方法。

MySQL CPU过高排查:连接超时与慢查询优化

MySQL服务器CPU占用过高常由大量空闲连接未关闭或复杂查询引起。可通过调整my.cnf中的wait_timeout和interactive_timeout参数减少无效连接,或使用show processlist命令检查Sleep状态的连接数及具体执行语句。及时发现并优化未释放的连接和慢查询是解决性能瓶颈的关键。

Python使用PyMySQL保存字典数据至MySQL并自动建表

本文介绍如何利用Python的PyMySQL库将字典类型数据保存至MySQL数据库。通过封装类实现自动检测表是否存在,若不存在则根据字典键值自动创建表及对应列,并支持写入多条不同结构的字典数据,简化数据库交互流程。

MySQL慢查询日志配置与排查指南

本文详解如何通过MySQL自带的慢查询日志功能定位执行缓慢的SQL语句。涵盖启用日志、设置阈值(long_query_time)、查看日志文件及解析关键字段的方法,并补充了pt-query-digest等高效分析工具的使用场景,帮助DBA快速识别并优化数据库性能瓶颈。

MySQL慢查询日志配置与排查指南

MySQL 事务详解:从转账场景到 ACID 特性与隔离级别

本文通过转账案例深入解析 MySQL 事务机制,阐述如何利用 START TRANSACTION、COMMIT 和 ROLLBACK 保证数据原子性与一致性。详细说明事务的 ACID 特性及 Undo/Redo Log 的作用,并对比脏读、幻读等并发异常,指导用户根据业务场景选择合适的隔离级别以平衡性能与数据安全。