随笔分类 - MySQL
摘要:堆栈信息: 查看代码 Thread 477 (Thread 0x7f0aa5499700 (LWP 96086)): #0 0x00007f0aad6aa3fa in sigwaitinfo () from /lib64/libc.so.6 #1 0x0000000000f55adb in time
阅读全文
posted @ 2022-07-01 14:55
屠魔的少年
摘要:问个问题:mysql客户端执行了一个sql,马上我把客户端的网线拔了,会发生什么数据库hang死,高可用工具拿不到数据的状态信息,然后就切换把sip解绑了,主从切换了 旧主还有一个事务没传到新主上
阅读全文
posted @ 2022-05-09 18:11
屠魔的少年
摘要:今天在主库建了一张表,在向该表插入数据时,发现没有同步到从库,并且在从库 slave_type_conversions来控制复制中主从结构不一致的处理默认为”,即不支持主从字段类型不一致,其它3种类型为:all_lossy 支持有损转换,如int–>tinyintall_non_lossy 支持无损
阅读全文
posted @ 2022-05-05 17:22
屠魔的少年
摘要:nnodb事务日志包括redo log和undo log。redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作。 undo log不是redo log的逆向过程,其实它们都算是用来恢复的日志:1.redo log通常是物理日志,记录的是数据页的物理修改,而不是某一行或某
阅读全文
posted @ 2022-04-29 01:36
屠魔的少年
摘要:前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍。相对于其他几种日志而言, redo log 和 undo log 是更加神秘,难以观测的。本篇文章将主要介绍这两类事务日志的作用及运维方法。 1.重做日志(redo lo
阅读全文
posted @ 2022-04-29 01:34
屠魔的少年
摘要:一 前言 作为DBA 运维MySQL 数据库的过程中,肯定遇到过在没有备份和binlog的情况下,ibd文件损坏或者误删除数据的情况,如何恢复呢?本文介绍一个工具Percona Data Recovery Tool for InnoDB 使用 该工具的注意事项: The tools work onl
阅读全文
posted @ 2022-04-21 23:04
屠魔的少年
摘要:从MySQL 5.7社区版本升级到GreatSQL 5.7.36过程中的详细步骤。 01升级方案 其实,MGR的升级方案比较简单,我们以一个3节点的MGR集群为例,它大致的升级流程如下图: 可以看到,整个过程是逐个节点进行滚动升级的,跟之前MGR版本从5.7升级到8.0是类似的。 MGR 5.7滚动
阅读全文
posted @ 2022-04-21 23:02
屠魔的少年
摘要:本文来自:https://github.com/Qihoo360/mysql-sniffer 简介 MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端的请求,并格式化输出。输出内容包访问括时间、访问用户、来源 IP、访问 Database、命令耗
阅读全文
posted @ 2022-03-02 14:33
屠魔的少年
摘要:来源:https://www.cnblogs.com/ct20150811/p/11558951.html 1. checksum table. checksum table 会对表一行一行进行计算,直到计算出最终的 checksum 结果。比如对表 n4 进行校验(记录数 157W,大小为 4G)
阅读全文
posted @ 2022-03-02 11:16
屠魔的少年
摘要:需求介绍 业务有两个 MySQL 集群是通过 MQ 进行同步的,昨晚 MQ 出现异常,报了很多主键冲突,想请 dba 帮忙校验一下两个集群的数据是否一致。 一、前言 当接到这个需求的时候并没当回事,隐约有点印象 pt-table-checksum 能通过 dsn 实现 MySQL 的数据校验,所以当
阅读全文
posted @ 2022-03-01 11:50
屠魔的少年
摘要:最近遇到一个MySQL数据导入时候遇到问题,先来看下问题产生的具体报错信息如下所示: ERROR 1114 (HY000) at line 5: The table ‘/data/mysql/tmp/#sql_13c53_2’ is full # mysql -u dba_admin -p'xxxx
阅读全文
posted @ 2022-03-01 10:50
屠魔的少年
摘要:随着 MySQL 版本的不断更新,对 DDL 操作的支持也在不断的完善和更新:比如从 MySQL 5.6 引入 Online DDL ,在 MySQL 5.7 对 Online DDL 进一步完善,到现在的 8.0 版本,则对 DDL 的实现重新进行了设计,比如 DDL 操作支持原子特性,在 MyS
阅读全文
posted @ 2022-03-01 10:34
屠魔的少年
摘要:下面,就这个问题,给一个清晰明了、拿来即用的解决方案: 怎么判断一个DDL是不是被阻塞了 ? 当DDL被阻塞时,怎么找出阻塞它的会话 ? 怎么判断一个 DDL是不是被阻塞了 首先,看一个简单的Demo session1> create table sbtest.t1(id int primary k
阅读全文
posted @ 2022-02-21 14:16
屠魔的少年
摘要:有时候,怀疑某个MySQL内存查询导致CPU或磁盘I/O消耗特别高,但又不确定具体是哪个SQL引起的。 或者当InnoDB引擎内部有semaphore wait时,想知道具体是哪个线程/查询引起的。 多说一下,当有semaphore wait事件超过600秒的话,InnoDB会发出crash信号:
阅读全文
posted @ 2022-02-17 16:51
屠魔的少年
摘要:-- 查询超过InnoDB cluster中设置事物大小的那些失败的事物 select t.THREAD_ID, p.PROCESSLIST_ID, p.PROCESSLIST_USER USER, p.PROCESSLIST_HOST HOST, p.PROCESSLIST_DB DB, t.ST
阅读全文
posted @ 2022-02-15 16:56
屠魔的少年
摘要:1.备份,导出单表, test.t_user /usr/bin/xtrabackup -uroot -p'GreatSQL' -S /data/GreatSQL/mysql.sock --tables='test.t_user' --backup --target-dir=/data/backup
阅读全文
posted @ 2021-12-17 12:13
屠魔的少年
摘要:背景 一般说MySQL的索引,都清楚其索引主要以B+树为主,此外还有Hash、RTree、FullText。本文简要说明一下MySQL的B+Tree索引,以及和其相关的二叉树、平衡二叉树、B-Tree,相关的知识网上很多,为了方便自己更快、清楚的了解,文本聚合一些内容以及个人的一些理解。 说明 二叉
阅读全文
posted @ 2021-12-16 22:44
屠魔的少年
摘要:“Too many open files”是一个比较常见的错误,不仅仅是在 MySQL 中。只要是在 Linux 中启动的进程,都有可能遇到这个错误。 究其原因,是进程打开的文件描述符数超过了自身的限制。 这个限制,是进程级别的,在 MySQL 中,与 open_files_limit 的设置有关。
阅读全文
posted @ 2021-12-16 22:07
屠魔的少年
摘要:SQL_MODE是MySQL中的一个系统变量(variable),可由多个MODE组成,每个MODE控制一种行为,如是否允许除数为0,日期中是否允许'0000-00-00'值。 为什么需要关注SQL_MODE呢? 首先,看三个简单的Demo(MySQL 5.6)。 1. mysql> create
阅读全文
posted @ 2021-12-16 22:01
屠魔的少年
摘要:命令如下: tcpdump -s 0 -l -w - dst 192.168.244.10 and port 3306 -i eno16777736 |strings 其中-i指定监听的网络接口,在RHEL 7下,网络接口名不再是之前的eth0,而是 eno16777736。 在RHEL 5&6下,
阅读全文
posted @ 2021-12-16 21:58
屠魔的少年