随笔分类 - MySQL
摘要:演示环境mysql5.7.22查看MySQL冗余索引:下面的视图sys.schema_redundant_indexes 可以看到MySQL表中的冗余索引登录后复制 'tidb03' root@localhost 19:31:46 (none)>select * from sys.schema_re
阅读全文
摘要:演示环境MySQL版本mysql5.7.22查看是否持有MDL锁等待:特别说明:通过sys.schema_table_lock_waits视图 可以查看当前连接线程的MDL锁等待信息,显示哪些会话被MDL锁阻塞,是谁阻塞了这些会话,数据来源 performance_schema下的threads,
阅读全文
摘要:演示MySQL版本为MySQL5.7.22通过sys.innodb_lock_waits 视图 表查看Innodb 当前事务锁等待信息,默认是按照发生锁等待的开始时间升序排列的;wait_started字段即innodb_trx 表的trx_wait_started字段sys.innodb_loc
阅读全文
摘要:一、MDL锁的介绍 MySQL 5.7版本之前并没有提供一个方便的途径来查看MDL锁,github上有一名为mysql-plugin-mdl-info的项目,通过插件的方式来查看,于是在MySQL 5.7中的performance_schea库下新增了一张表metadata_locks,用其来查看M
阅读全文
摘要:具体排查思路如下:1、查看当时实例系统性能情况(IO、CPU、memory),排除系统性能干扰 如果 CPU 高、IO 高、wa 大:先排查慢 SQL,再查当前并发数,一般是大量并发慢 SQL 导致。 如果 CPU 高、IO 中、wa 小:排查慢 SQL,在查看当前并发数,一般是单个计算 SQL 导
阅读全文
摘要:在事务执行阶段: 一、锁等待 1、RR 模式下 insert 锁等待gap lock 锁等待导致。 2、Insert 等待 MDL 锁导致 。 3、Table lock。 二、IO 方面 1、慢 sql 导致 io 高。 2、其他程序占用比价高。 3、BP 命中率比较低。 4、并发导致。 5、inn
阅读全文
摘要:Server 层阶段 1.1 连接器客户端发起一个 TCP 请求后,MySQL Server 端会负责通信协议处理、线程处理、账号认证、安全检查。 1.2 分析器MySQL Server 端对一个 SQL 请求进行词法分析(识别 select、from),然后会对语法 进行分析判断语法是否正确。 1
阅读全文
摘要:字符串的字段是以字节为单位存储的,utf8字符集的表 一个字符需要三个字节,utf8mb4字符集的表 一个字符需要4个字节。对于小于等于255字节以内的长度可以使用一个byte 存储。大于255个字节的长度则需要使用2个byte存储。如果表字段varchar长度从1到85之间变化的话,改字段的存储字
阅读全文
摘要:一、环境说明 安装服务器环境: 阿里云ECS服务,系统为CentOS Linux release 8.1.1911 (Core) x86_64 最小化安装 服务器系统内核: Linux 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC
阅读全文
摘要:MGR集群环境MySQL大表传输表空间的坑 登录后复制 https://blog.csdn.net/ashic/article/details/93354517 http://fuxkdb.com/2017/08/22/%E4%B8%BB%E4%BB%8E%E4%BC%A0%E8%BE%93%E8%
阅读全文
摘要:文章转载地址: https://mp.weixin.qq.com/s/6c-OoWQ1fQwOu8V5Jcrcqg
阅读全文
摘要:参考地址如下: https://mp.weixin.qq.com/s/XyOU6dimeZNjzIYyTv_fPA https://mp.weixin.qq.com/s/vCAiisq_UgATsisXNi1RRA
阅读全文
摘要:**说明:**本文转载地址https://mp.weixin.qq.com/s/Fpas2HcWgcUWFdBrvf6BiQ 如有侵权请联系本博主删除,谢谢。 1. 背景 本地 MySQL 数据库要访问远程 MySQL 数据库的表中的数据,又不想用数据同步方式去实现,所以就考虑 FEDERATED
阅读全文
摘要:提高mysql千万级大数据SQL查询优化30条建议 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id fro
阅读全文
摘要:场景说明: 这个MySQL表损坏的场景是发生在2018年线上库的某个月 当时MySQL的版本是MySQL5.6。 硬件:服务器的硬件配置是PowerEdge R320 Intel® Xeon® CPU E5-2403 v2 @ 1.80GHz * 4 4核心 8G内存,机械硬盘 dr_stats表
阅读全文
摘要:一、环境说明: 本文以mariadb-10.2.17二进制安装包的审计插件安装到MySQL5.7.32版本为例 cp mariadb-10.2.17的插件server_audit.so 到MySQL服务得插件目录/usr/local/mysql/lib/plugin下: 登录后复制 [root@db
阅读全文
摘要:说明:本博文演示的mydumper是经过pingcap公司优化过的版本。特此感谢pingcap公司的贡献 下面开始介绍mydumper特点和参数使用 一、介绍 mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式为逻辑备份。它支持多线程,备份速度远高于原生态的mysqld
阅读全文
摘要:场景描述: 如果从库上表 t 数据与主库不一致,导致复制错误,整个库的数据量很大,重做从库很慢,如何单独恢复这张表的数据? 通常认为是不能修复单表数据的,因为涉及到各表状态不一致的问题。 下面就列举备份单表恢复到从库会面临的问题以及解决办法 一、本次演示环境描述: Dell物理服务器r620 两台
阅读全文
摘要:下面的演示基于MySQL5.7.27版本 一、关于MySQL子查询的优化策略介绍: 子查询优化策略 对于不同类型的子查询,优化器会选择不同的策略。 1. 对于 IN、=ANY 子查询,优化器有如下策略选择: semijoin Materialization exists 2. 对于 NOT IN、<
阅读全文
摘要:登录后复制 [root@api ~]# mysqlbinlog /data/mysql/binlog/mysql-bin.000005| grep "GTID$(printf '\t')last_committed" -B 1 | grep -E '^# at' | awk '{print $3}'
阅读全文