• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于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数据库innodb_rollback_on_timeout默认值的危害?

MySQL数据库innodb_rollback_on_timeout默认值的危害?

一、innodb_rollback_on_timeout变量 有时侯会发生事务超时的情况,MySQL会返回类似这样的错误: ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction. ……

MySQL使用HeidiSQL工具改库名

MySQL使用HeidiSQL工具改库名

HeidiSQL是一款数据库管理工具,它是德国程序员Ansgar Becker和几个Delphi程序员开发的一个开源工具。支持通过多种方式连接管理 MySQL(MariaDB)、MSSQL Server、PostgreSQL数据库,功能强大,完全免费,推荐大家使用。HeidiSQL比起其他客户端工具而言,支持显示库表的索引大小和数据大小,并且支持改库名(是通……

HugePage是否是拯救性能的万能良药?

HugePage是否是拯救性能的万能良药?

一、准备知识 在阅读本文之前,需要读者至少了解以下基础知识 CPU Cache的基本概念,具体可参见 关于CPU Cache – 程序猿需要知道的那些事。 NUMA的基本概念,具体可参见 NUMA架构的CPU — 你真的用好了么?。 目前Linux基于多核CPU繁忙程度的线程调度机制,参看Chip Multi Processing aware ……

MySQL备份脚本

MySQL备份脚本

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

MySQL多表更新或删除案例

MySQL多表更新或删除案例

我们用到最多的update更新数据都是单表更新了,但有的时候我们不得不使用关联多表进行数据更新了,下面我给各位介绍利用upate实现多表关联更新。另外需要注意的是MySQL从4.0.4版本开始才支持执行一个包含多个表的UPDATE的语句。 下面给出我的实验环境 环境不涉及什么业务场景,纯粹为了达到测试语句的效果,所以不要问这么更新有什么意义之类的?在生产环境……

SQL中的in、not in、exists及not exists的区别

SQL中的in、not in、exists及not exists的区别

一、in和exists select * from A where cc in(select cc from B) 1 select * from A where cc in(select cc from B) ……

MySQL SQL报错解决:You can’t specify target table ‘work’ for update in FROM clause

MySQL SQL报错解决:You can’t specify target table ‘work’ for update in FROM clause

下面来对GROUP BY后面有多个字段进行测试。 一、环境搭建 CREATE TABLE `work` ( `id` int DEFAULT 0, `name` varchar(20) DEFAULT NULL, `address` varchar(20) DEFAULT NULL, `work` var……

MySQL审核工具Inception推荐

MySQL审核工具Inception推荐

一、Inception简介【已闭源】 Inception是集审核、执行、回滚于一体的一个自动化运维系统,它是根据MySQL代码修改过来的,用它可以很明确的,详细的,准确的审核MySQL的SQL语句,它的工作模式和MySQL完全相同,可以直接使用MySQL客户端来连接,但不需要验证权限,它相对应用程序(上层审核流程系统等)而言,是一个服务器,在连接时需要指定服……

MySQL SHOW PROCESSLIST协助故障诊断

MySQL SHOW PROCESSLIST协助故障诊断

一、SHOW PROCESSLIST命令 SHOW PROCESSLIST显示正在运行(用户运行线程)的线程(或SHOW FULL PROCESSLIST显示更多信息)。您还可以从INFORMATION_SCHEMA PROCESSLIST表或mysqladmin processlist命令获取此信息。如果你有这个PROCESS特权,你可以看到所有的线程。否……

MySQL覆盖索引学习

MySQL覆盖索引学习

覆盖索引 通常大家会根据查询的where条件来创建合适的索引,不过这只是索引优化的一个方面。设计优秀的索引应该考虑到整个查询,而不单单是where条件部分。索引确实是一种查找数据的高效方式,但是MySQL也可以使用索引来直接获取列的数据,这样就不再需要读取数据行。如果索引的叶子节点中已经包含要查询的数据,那么还有必要再回表查询呢?如果一个索引包含,或者说覆盖……