• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
MySQL从库延迟计算方式分析(Seconds_Behind_Master)

MySQL从库延迟计算方式分析(Seconds_Behind_Master)

一、背景 在 MySQL 主备环境下,主备同步过程简单描述就是主库 sql 语句操作产生 binlog 发送给备库,备库 io 线程读取主库 binlog 生成 relay log;然后备库 sql 线程执行 relay log 从而保持和主库同步。 理论上主库有更新时,备库都存在延迟,且延迟时间为备库执行时间+网络传输时间,即 t4-t2。但实际情况是,……

MySQL timeout相关变量解释

MySQL timeout相关变量解释

首先看一下MySQL timeout相关的变量 mysql> show global variables like '%timeout%'; +-----------------------------+----------+ | Variable_name | Value | +-……

MySQL备份脚本

MySQL备份脚本

针对单主机多实例的MySQL完整备份脚本,根据自己的情况,自行修改即可。 #!/bin/bash # # backup user USERNAME= PASSWORD= SOCKET= # create variables today=`date +'%Y-%m-%d-%H'` sevenday=`dat……

MySQL分区增删改查操作

MySQL分区增删改查操作

###添加删除range分区 (1) 创建一个分区 CREATE TABLE titles ( emp_no INT NOT NULL, title VARCHAR(50) NOT NULL, from_date DATE NOT NULL, to_date DATE, KEY (emp_no), PRIMARY K……

MySQL备份恢复:单线程mysqldump工具原理

MySQL备份恢复:单线程mysqldump工具原理

一、mysqldump工作原理 对于搞数据库的应该都知道,mysqldump是MySQL官方提供的用于逻辑备份的工具。 mysqldump优点:mysqldump的优点就是逻辑备份,把数据生成sql形式保存,在单库,单表数据迁移,备份恢复等场景方便,sql形式的备份文件通用,也方便在不同数据库之间移植。对于innodb表可以在线备份。 mysqldump缺……

数据库设计范式与反范式

数据库设计范式与反范式

数据库规范化,又称数据库或资料库的正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——BC范式。 除外还包括针对多值依赖的第四范式,连……

MySQL InnoDB自增锁和外键锁

MySQL InnoDB自增锁和外键锁

一、自增长与锁 自增长在数据库中是非常常见的一种属性,也是很多DBA或开发人员首选的主键方式。在InnoDB存储引擎的内存结构中,对每个含有自增长值的表都有一个自增长计数器。当对含有自增长的计数器的表进行插入操作时,这个计数器会被初始化,执行如下的语句来得到计数器的值: select max(auto_inc_col) from……

MySQL分布式事务

MySQL分布式事务

一、分布式事务 在说分布式事务(XA)之前,可以先看一下“以交易系统为例,看分布式事务架构的五大演进”,阐述了分布式事务解决了什么问题? InnoDB存储引擎提供了对XA事务的支持,并通过XA事务来支持分布式事务的实现。分布式事务指的是允许多个独立的事务资源参与到一个全局的事务中。事务资源通常是关系型数据库系统,但也可以是其他类型的资源。全局事务要求在其中的……

以交易系统为例,看分布式事务架构的五大演进

以交易系统为例,看分布式事务架构的五大演进

一、概述 在支付、交易、订单等强一致性系统中,我们需要使用分布式事务来保证各个数据库或各个系统之间的数据一致性。举个简单的例子来描述一下这里数据一致性的含义。 程序员小张向女友小丽转账100人民币,转账过程是:先扣除小张100元,再为小丽的账户添加100元。 如果在转帐过程中,扣款操作和打款操作要么同时执行,要么同时都不执行,我们就认为转帐过……

MySQL如何定位未提交事务执行的SQL语句?

MySQL如何定位未提交事务执行的SQL语句?

一、问题描述 我们经常会碰到这样的情况,某个事务执行完了未提交,后续再来一个DDL和DML操作,导致后面的session要么处于waiting for metadata lock,要么是锁等待超时。这时我们往往只能找到这个未提交的事务的事务id和session id,但是一般都处于sleep状态,不好分析事务内容到底是什么,所以通常都是粗鲁地kill这个se……

MySQL时区问题知晓

MySQL时区问题知晓

关于时区的概念,其实初中地理课已经涉及,很多人都多少了解一些,可能只是细节搞不太清楚。为什么会将地球分为不同时区呢?因为地球总是自西向东自转,东边总比西边先看到太阳,东边的时间也总比西边的早。东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算。整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间……

为什么推荐InnoDB引擎使用自增主键?

为什么推荐InnoDB引擎使用自增主键?

在使用 InnoDB 存储引擎时,如果没有特别的需要,请永远使用一个与业务无关的自增字段作为主键,除非高并发写入操作可能需要衡量自增主键或有业务安全性要求,后面会讲。 经常看到有帖子或博客讨论主键选择问题,有人建议使用业务无关的自增主键,有人觉得没有必要,完全可以使用如学号或身份证号这种唯一字段作为主键。不论支持哪种论点,大多数论据都是业务层面的。如果从数据……