中间件与数据库:MySQL

inno_space: MySQL 数据修复访问工具

inno_space 是一个可以直接访问InnoDB 内部文件的命令行工具,可以打印出文件的内部结构。

利用binlog进行MySQL数据闪回

从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。

Upgrading MySQL at Shopify

Learn how the Database Platform team performed the most recent MySQL upgrade at Shopify and how this changed our upgrade guidelines moving forward.

MySQL 索引长度限制的案例

我们知道,MySQL 和 Oracle 在索引上最大的一个区别,就是索引存在长度的限制。如果是超长键值,可以支持创建前缀的索引,顾名思义,取这个字段的前多少个字符/字节作为索引的键值。

之所以可以定义一个字段前缀作为键值,存储效率是考虑的一个因素,如果列名的前10个字符通常都是不同的,检索这10个字符创建的索引应该会比检索整个列作为索引的效率更高,使用列前缀作为索引会让索引树更小,不仅节省空间,还可能提高插入操作的速度。

MySQL表联接原理分析

用过MySQL的同学肯定都知道表联接,关键字即为 join ,使用的场景就是“当只查询一个表的信息不能满足我们需求”的时候,就需要用到两个甚至多个表联接查询。那么该如何降低查询成本呢?

适当的使用 MySQL 原生表分区

MySQL 数据库现在主要用的引擎是 InnoDB ,InnoDB 没有类似于 MERGE 引擎这样的原生拆表方案,不过有原生分区表,以水平方式拆分记录集,对应用端透明。

分区表的存在为超大表的检索请求、日常管理提供了一种额外的选择途径。分区表使用得当,对数据库性能会有大幅提升。

Debugging Systems in the Cloud: MySQL, Kubernetes, and Cgroups

An overview of how we investigated and solved the issue of some Kubernetes Pods running MySQL starting up and shutting down slower than other similar Pods with the same data set.

MySQL 突如其来的主从复制延迟

大佬前几天来自生产上的一个问题,又涨知识了,今天拿来分享给大家。

谁动了我的数据?去哪儿网MySQL嗅探程序

本文主要介绍去哪儿网DBA团队如何通过抓包、解析MySQL协议,获取数据库全量访问日志,解决了“谁动了我的数据”问题。

MySQL改表工具ptosc在主从数据同步中的妙用

本文通过讲述一个数据不一致问题的定位原因和解决问题的过程,展示了MySQL改表工具ptosc在主从数据同步中的妙用。

第46问:MySQL 使用的文件句柄突增, 该如何诊断

我们动用 perf,来追踪打开句柄的系统调用。

MySQL 8.0:新的身份验证插件(caching_sha2_password)

从 MySQL 8.0.4 开始,默认身份验证插件从 mysql_native_password 更改为 caching_sha2_password。

MySQL 修改可信 IP 白名单的方法

因为机房搬迁,堡垒机集群需要迁移到新的网段,我们需要批量修改 MySQL 上这些账号的网段地址。下面我们研究一下应该怎么修改。

MYSQL深潜 - 剖析Performance Schema内存管理

本文主要是通过对PFS引擎的内存管理的源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路。

基于MySQL binlog日志,实现Elasticsearch近实时同步实践

在我们的开发过程中,经常会在一个项目中使用多种数据库系统。在一些特定场景下,我们希望把数据从一种数据库,同步到另一种异构的数据库,以便进行数据分析统计、完成实时监控、实时搜索等功能。这个异构数据源同步的过程称为Change Data Capture(变化数据捕获)。

我们本文讨论的是Source为MySQL、Target为ElasticSearch的场景下,进行增量和全量同步操作过程。众所周知,MySQL数据库凭借其性能卓越、服务稳定、开放源代码、社区活跃等因素,成为当下最流行的关系型数据库,但是在数据量级较大或涉及到多表操作时,亦或是需要根据地理位置进行查询时,MySQL通常不能给我们很好的支持。

为了解决MySQL查询缓慢、无法查询的问题,我们通常采用ElasticSearch等进行配合检索。在传统方式中,将MySQL同步数据到ElasticSearch通常采用的是双写、MQ消息等形式,这些形式都存在着耦合高、性能差、丢失数据等风险。

所以我们需要探索出一套对业务无侵入的MySQL同步至ElasticSearch异构数据库的解决方案。本文将分别从增量同步、全量同步两个层面进行探讨。

一文揭秘MySQL复制之Seconds_Behind_Master的计算

文章通过MySQL官方文档和MySQL源码两个方面,分析了MySQL主从复制延迟参数Seconds_Behind_Master是如何计算的。

ホーム - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 00:36
浙ICP备14020137号-1 $お客様$