数据运维

MySQL bug replace into 语句导致主从切换后主键冲突

MySQL bug replace into 语句导致主从切换后主键冲突

一、背景 生产环境遇到一个 MySQL 写入报错的问题,业务写入数据时报主键冲突。经过调查,这套 MySQL 集群版本为 Percona 5.7.19,在报主键冲突前,做过主从切换,报主键冲突的SQL语句为 replace into,表的主键是自增列,调查该表的 auto_increment,发现

竹子爱熊猫 竹子爱熊猫 2023-08-15
0 0 0
MySQL Bug insert into on duplicate key update 语法更新 text blob 大字段导致 MySQL crash

MySQL Bug insert into on duplicate key update 语法更新 text blob 大字段导致 MySQL crash

MySQL 做的时间长了,就有可能多次遇到相同的 Bug,这里记录一下,以便下次再遇到,能够参考。 1. 背景 业务执行 SQL 导致 MySQL 进程 Crash,做故障切换后,新的主库又 Crash 了。查看 MySQL 错误日志,发现多次 Crash 时的堆栈相同,如下: Thread

大树 大树 2023-08-15
0 0 0
MySQL Bug 并发更新,在函数 row_search_mvcc 中 Crash

MySQL Bug 并发更新,在函数 row_search_mvcc 中 Crash

MySQL Crash 的原因有很多,比如硬件问题,磁盘坏块导致页损坏,内存问题导致内存访问错误,等等,软件问题,MySQL 自身的 Bug。通常 MySQL Crash 问题需要根据错误日志、Core 文件、业务 SQL,表结构等多种信息结合起来排查问题,即使有诸多信息,有些 Crash 问题仍然

张二河 张二河 2023-08-15
0 0 0
MySQL 2038年自动关闭问题

MySQL 2038年自动关闭问题

1. 问题描述 如果时间来到了 2038 年,或者手动将操作系统的本地时间调整为 2038 年,比如 2038-12-12,你会发现正在运行的 MySQL 会自动关闭,重启后同样会自动关闭,无法使用,查看错误日志,会有下面的一段错误信息,MySQL 不支持 2038 年之后的日期。 This M

大白菜程序猿 大白菜程序猿 2023-08-15
0 0 0
MySQL select in 语句未使用索引,产生磁盘临时表,导致 crash

MySQL select in 语句未使用索引,产生磁盘临时表,导致 crash

1. 问题描述 业务执行一个非常简单的 SQL,结果导致 MySQL crash,并且每次都能复现。 MySQL 版本: Percona Server for MySQL 5.7.20 SQL 语句: select * from a where a.name in (select dist

醒在深海的猫 醒在深海的猫 2023-08-15
0 0 0
MySQL Bug 系统表mysql.user损坏,参数read_only=ON时,无法启动

MySQL Bug 系统表mysql.user损坏,参数read_only=ON时,无法启动

生产环境 MySQL 机器使用备份恢复后,无法启动,报错信息为系统表 mysql.user 损坏,经过排查,发现是 MySQL 5.7 版本的一个 Bug。当 MySQL 启动时,如果 read_only 参数设置为 ON,此时如果系统表,比如 mysql.user 表发生损坏,则会导致 MySQL

捡田螺的小男孩 捡田螺的小男孩 2023-08-15
0 0 0
MySQL Binlog文件格式解析

MySQL Binlog文件格式解析

MySQL通过Binlog进行主从数据的复制,Binlog是一种二进制格式的文件,理解Binlog二进制格式能够帮助我们进一步理解MySQL的主从复制原理。本文将对Binlog文件格式进行分析。 本文涉及的源码版本和相关参数如下: MySQL Server 5.7.19 binlog_

捡田螺的小男孩 捡田螺的小男孩 2023-08-15
0 0 0
MySQL Binlog 文件格式解析(GTID_LOG_EVENT)

MySQL Binlog 文件格式解析(GTID_LOG_EVENT)

Copyright © 2020-2023  www.mytecdb.com All Rights Reserved.

剑圣无痕 剑圣无痕 2023-08-15
0 0 0
MySQL Binlog 文件格式解析(TABLE_MAP_EVENT)

MySQL Binlog 文件格式解析(TABLE_MAP_EVENT)

Copyright © 2020-2023  www.mytecdb.com All Rights Reserved.

剑圣无痕 剑圣无痕 2023-08-15
0 0 0
MySQL Binlog 文件格式解析(PREVIOUS_GTIDS_LOG_EVENT)

MySQL Binlog 文件格式解析(PREVIOUS_GTIDS_LOG_EVENT)

Copyright © 2020-2023  www.mytecdb.com All Rights Reserved.

捡田螺的小男孩 捡田螺的小男孩 2023-08-15
0 0 0
MySQL Binlog 文件格式解析(HEARTBEAT_LOG_EVENT)

MySQL Binlog 文件格式解析(HEARTBEAT_LOG_EVENT)

MySQL 通过 Binlog 进行主从数据的复制,Binlog 由多种不同类型的 event 组成,本文简单介绍 event 类型为 HEARTBEAT_LOG_EVENT 的结构。 本文涉及的源码版本 MySQL Server 5.7.19 1. HEARTBEAT_LOG_EVENT 有什

捡田螺的小男孩 捡田螺的小男孩 2023-08-15
0 0 0
MySQL Binlog 文件格式解析(XID_EVENT)

MySQL Binlog 文件格式解析(XID_EVENT)

1. XID_EVENT 是什么? MySQL Binlog 文件由 event 组成,event 有不同的类型,本文介绍的 XID_EVENT 表示一个事务的提交操作。 举个例子,执行一条事务,然后查看这个事务生成的 Binlog event,如下: 事务 SQL: begin; ins

宇宙之一粟 宇宙之一粟 2023-08-15
0 0 0
MySQL 8.0 新增的关键字(Keywords)和保留字(Reserved Words)

MySQL 8.0 新增的关键字(Keywords)和保留字(Reserved Words)

MySQL 关键字和保留字通常在SQL语句中有特殊的意义,比如SELECT,DELETE,BIGINT等等,如果要使用这些关键字或者保留字作为表名、字段名,需要使用引号来标识,否则将会报错。 mysql> CREATE TABLE interval (begin INT, end INT);

LOVEHL^ˇ^ LOVEHL^ˇ^ 2023-08-15
0 0 0
MySQL 8.0 窗口函数(window functions)

MySQL 8.0 窗口函数(window functions)

一、窗口函数简介 窗口函数(window functions)是数据库的标准功能之一,主流的数据库比如Oracle,PostgreSQL都支持窗口函数功能,MySQL 直到 8.0 版本才开始支持窗口函数。 窗口函数,简单来说就是对于一个查询SQL,将其结果集按指定的规则进行分区,每个分区可以看

大猫 大猫 2023-08-15
0 0 0
MySQL 8.0 克隆(clone)插件

MySQL 8.0 克隆(clone)插件

一、克隆(clone)插件简介 MySQL 8.0 新增了一个clone插件,能够实现本地或者远程MySQL实例快速克隆。克隆的数据是InnoDB引擎的快照数据,包括数据库(schema),表(tables),表空间(tablespaces),数据字典元数据(data dictionary met

LOVEHL^ˇ^ LOVEHL^ˇ^ 2023-08-15
0 0 0
MySQL 8.0 hash join

MySQL 8.0 hash join

MySQL 8.0.18 版本引入了 hash join 功能,来优化没有走索引的等值 join 连接,hash join 通常比 BNL(Block Nested-Loop) 算法效率更高。比如一个常见的等值 join 查询语句,如下: SELECT * FROM t1 JO

醒在深海的猫 醒在深海的猫 2023-08-15
0 0 0
MySQL 8.0 新特性完整汇总

MySQL 8.0 新特性完整汇总

本文整理汇总了 MySQL 8.0 版本的新特性,新功能,如下: 一、功能增强 1.1 系统表更换为InnoDB引擎 系统表全部换成事务型的innodb表,默认的MySQL实例将不包含任何MyISAM表,除非手动创建MyISAM表。 1.2 DDL原子化 InnoDB表的DDL支持事务完整

法医 法医 2023-08-15
0 0 0
MySQL 不可见索引 (Invisible Indexes)

MySQL 不可见索引 (Invisible Indexes)

MySQL 8.0 版本支持不可见索引(Invisible Indexes),也就是索引对优化器不可见,无法使用不可见索引对查询进行优化,不可见索引不适用于主键。 一、不可见索引的使用场景 在一张大表上创建和删除索引是有高额成本的,有时候需要测试一个索引是否有效,可以临时删除索引,对比索引存在与

竹子爱熊猫 竹子爱熊猫 2023-08-15
0 0 0
MySQL 降序索引 (Descending Indexes)

MySQL 降序索引 (Descending Indexes)

MySQL 8.0 版本开始支持降序索引(Descending Indexes),在 8.0 之前的版本,使用关键字 DESC 定义降序索引时,实际上 DESC 是被忽略的,从 8.0 版本开始,DESC 定义的索引,真的就是降序的索引。 在 8.0 之前,能够以相反的顺序对索引进行扫描,但是会降

醒在深海的猫 醒在深海的猫 2023-08-15
0 0 0
MySQL 函数索引 (Functional indexes)

MySQL 函数索引 (Functional indexes)

MySQL 8.0.13 版本开始支持函数索引(Functional indexes),在此之前,只能使用表的字段或者字段前缀来创建索引,从 8.0.13 版本开始,可以使用函数或者表达式的值来创建索引,这些函数或者表达式的值并不直接存储在表中。 函数索引示例: CREATE TABLE t1

泡泡 泡泡 2023-08-15
0 0 0
1 … 670 671 672 673 674 … 1,807