MySQL

MySQL二进制日志详解

一、二进制日志配置与管理1. 查看二进制日志状态检查二进制日志是否开启SHOWVARIABLESLIKE'log_bin';查看详细的二进制日志配置SHOWVARIABLESLIKE'%log_bin%';查看当前二进制日志格式SHOW

从实例出发,让你彻底了解InnoDB 锁监控表!

之前的学习中,一出现锁问题,我们都会通过一下两个命令之一来检测事务中的锁问题:SHOWENGINEINNODBSTATUS;SHOWFULLPROCESSLIST;其实,MySQL为我们提供了更好的工具去记录和检测锁问题。大家还记得我们的数据库里有一个information_schema数据库吗?该数据库下面有3个重要的表,分

MySQL 查看存储过程详解

创建存储过程后,我们经常需要查看其详细信息,包括其状态(何时创建、属于哪个数据库等)和具体的定义(源代码)。MySQL 提供了多种方法来实现这一点。一、 查看存储过程的状态:`SHOW PROCEDURE STATUS`这条命令用于列出存储过程的元数据信息(描述信息),类似于文件属性。1. 基本语法SHOW PROCEDURE STATUS [LIKE 'pattern&#39

如何理解SQL语句对应的文件操作?

本小节主要介绍SQL语句下映射的文件操作:1. 数据表查询机制在 MySQL 5.7 及更早版本中,所有存储引擎的数据表均会生成一个 .frm 文件,用于存储表结构元数据。因此,执行 SHOW TABLES 语句的本质是扫描数据库目录下的 .frm 文件并提取其基名,其结果与直接列出该目录下所有 .frm 文件名并去除后缀的操作完全一致。(注:MySQL 8.0 及以上版本已不再使用 .frm 文

数据库设计的核心要义

数据库设计是一项系统工程,其本质是根据特定业务场景的功能需求和数据特征,结合目标数据库管理系统的技术特性,通过科学的建模方法构建出完整、高效、可维护的数据存储体系。这一过程不仅包含表结构的定义,更涵盖数据实体间复杂关系的梳理,以及完整的数据约束规范的建立。设计必要性的多维考量1. 规模维度 对于数据实体单一、业务逻辑简单的系统(如个人博客

DBA到底要做什么,成为一名DBA需要具备什么能力

一、DBA的日常工作职责 1. 基础运维保障(30%时间) 安装与配置:部署MySQL/Oracle等数据库,优化参数文件(如`my.cnf`)。 备份与恢复:制定备份策略(全量+增量),模拟灾难恢复(如误删表后的`Point-in-Time Recovery`)。 监控与告警:用Prometheus+Grafan

MySQL GRANT 语句

`GRANT` 语句用于为用户授予特定权限,是 MySQL 权限管理的核心命令。基本语法GRANTpriv_type[(column_list)]ON[object_type]privilege_levelTO&nb

MySQL 触发器修改与删除

一、删除触发器 (DROP TRIGGER)基本语法:DROPTRIGGER[IFEXISTS][database_name.]trigger_name;参数说明:`IF EXISTS`: 可选,避免因触发器不存在而报错`database_name`: 可选,指定数据库名,默认为当前数据库`trigge

MySQL如何处理无效值?

MySQL 默认遵循宽松的数据处理策略,对越界值及异常数据不会主动验证或拦截,而是直接存储原始输入内容,即所谓“垃圾进,垃圾出”。此机制可能导致查询结果与语义预期不符。为提高数据一致性,MySQL 支持启用严格的 SQL 模式,该模式下系统将拒绝非法值并抛出错误,从而实现对数据完整性的强制约束,其行为与多数关系型数据库保持一致。一般情况下,MySQL会按照表格进行对非正常值的处理:数据类型非法值处

MySQL 算术运算符

算术运算符是 SQL 中最基础且最常用的运算符类型,用于执行各种数学计算。MySQL 提供了完整的算术运算符集合,可以满足各种数值计算需求。一、MySQL 支持的算术运算符运算符名称描述示例结果+加法计算两个或多个值的和SELECT 5+3;8-减法从一个值中减去另一个值SELECT 10-4;6*乘法计算两个或多个值的乘积SELECT 6*7;42/除法计算两个值的商SE