• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
MySQL 5.7基于GTID的多源复制

MySQL 5.7基于GTID的多源复制

我们知道,如果我们想把多个 MySQL Master 数据汇集到同一个实例,可以选择 MySQL 5.7 提供的多源复制,就是建立多个复制通道,每个通道分别 change master 到不同的实例即可。但这里对于复制方式可以基于 position 模式,或 gitd 模式。这里并不是介绍一些关于复制的基础知识,对于 position 模式,就不说了,也比较……

MySQL 5.7错误日志中常见的几种Note级别日志解释

MySQL 5.7错误日志中常见的几种Note级别日志解释

看到一篇关于Note日志的文章,挺不错的,转载记录一下。其中在第三种错误日志中增加了一些知识点。 在使用MySQL 5.7的时候,发现了不少在MySQL 5.6上不曾见过的日志,级别为Note,作者梳理了一下,最常见的Note日志以下三种,下面我们来逐个解释。 第一种:Aborted connection [Note] Abor……

MySQL 5.7定义日志级别新参数(log_error_verbosity)

MySQL 5.7定义日志级别新参数(log_error_verbosity)

log_warnings 在介绍这个参数前,我们先聊聊参数 log_warnings。我们知道 MySQL 中,其中 log_error 定义是否启用错误日志的功能和错误日志的存储位置,log_warnings 定义是否将告警信息(warning messages)也写入错误日志。此选项默认启用,具体来说: log_warnings 为 0, 表示不记录告……

MySQL 5.7秒级增加VARCHAR类型

MySQL 5.7秒级增加VARCHAR类型

在生产环境中,可能经常要做的且教烦的一个事情就是做DDL操作。最常见的就是增加字段、修改字段类型了。增加字段就不说了,从MySQL 5.6开始就支持Online DDL了。但改变字段类型,比如从CHAR变为VARCHAR;修改字段类型,比如增加VARCHAR大小,这些在MySQL 5.7之前还是会锁表的。从MySQL 5.7开始就支持了对于tinyint、i……

MySQL 5.7 InnoDB COUNT(*)优化

MySQL 5.7 InnoDB COUNT(*)优化

一、背景 很多时候我们都会使用 count(*) 函数来统计表中的行数,但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。然后你可能就想了,MySQL 怎么这么笨啊,记个总数,每次要查的时候直接读出来,不就好了吗。 那么今天,我们就来聊聊 count(*) 语句到底是怎样实现的,以及 MySQL 为什么会这么实现。然后,我会再和你说说,如果……

MySQL 5.7内部临时表使用

MySQL 5.7内部临时表使用

一、MySQL中的两种临时表 外部临时表 通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表。这种临时表只对当前用户可见,当前会话结束的时候,该临时表会自动关闭。这种临时表的命名与非临时表可以同名(同名后非临时表将对当前会话不可见,直到临时表被删除)。 内部临时表 内部临时表是一种特殊轻量级的临时表,用来进行性能……

MySQL文档存储快速入门指南

MySQL文档存储快速入门指南

一、MySQL文档存储说明 关系数据库(如MySQL)通常存储结构化数据,需要提前定义好数据的格式。而NoSQL的出现就是为了打破这种僵局,使得开发人员可以存储非结构化数据,使用文档的方式进行存储数据,无需提前定义数据格式。早先MariaDB也有对非结构化的数据进行存储的方案,称为dynamic column,但是方案是通过BLOB类型的方式来存储。这样导致……

MySQL 5.7默认SQL模式带来的问题总结

MySQL 5.7默认SQL模式带来的问题总结

在使用MySQL 5.7版本时,已经碰到了两起因为SQL_MODE的改变而导致的问题了,究其原因都是因为MySQL 5.7控制的更加严格了,所以在MySQL 5.6或MySQL 5.5有些SQL语句就无法在MySQL 5.7执行了(会给开发带来一个很诡异的问题,就是代码一样、环境一样、SQL一样、测试跟正式怎么就报错呢?)。 说一下我碰到的两起事件: 某些……

MySQL 5.7:自动回收UNDO表空间

MySQL 5.7:自动回收UNDO表空间

undo log segment(undo segment) Undo Logs 合集。undo segment 可以被重复使用,但是一次只能由一个事务占用。 rollback segment 也就是 Undo Logs 的物理存储区域。 undo tablespace rollback segment 被从系统表空间里分离出来后的实际磁盘文件表……

MySQL 5.7中timestamp数据类型和explicit_defaults_for_timestamp参数

MySQL 5.7中timestamp数据类型和explicit_defaults_for_timestamp参数

官方文档中关于explicit_defaults_for_timestamp参数说明如下:explicit_defaults_for_timestamp Deprecated 5.6.6 Command-Line Format --explicit_defaults_for_timestamp=# System Variable Na……

MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍

MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍

ONLY_FULL_GROUP_BY是MySQL提供的一个sql_mode,通过这个sql_mode来提供SQL语句“分组求最值”合法性的检查,在MySQL的sql_mode为非ONLY_FULL_GROUP_BY语义时。一条select语句,MySQL允许target list中输出的表达式是除聚集函数或group by column以外的表达式,但这个表……

MySQL 5.7:多线程备份工具mysqlpump使用

MySQL 5.7:多线程备份工具mysqlpump使用

一、mysqlpump介绍 MySQL在备份方面包含了自身的mysqldump工具,但其只支持单线程工作,这就使得它无法迅速的备份数据。所以就有人写了mydumper工具,支持多线程,并且是行级粒度,支持正则匹配多数据库。MySQL官方当然也意识到了这个问题,所以从MySQL 5.7开始就推出了mysqlpump工具,mysqlpump相对于之前的逻辑备份工……