MySQL
文章平均质量分 88
疯子向右
我对你无能的细节不感兴趣
展开
-
日志表设计优化与实现
摘要这篇文章从日志表问题引入、日志表的共有特性、日志表的设计需求、设计思路以及设计详细实现的角度,阐述了在SQL Server数据库中如何最优化设计日志表来降低系统资源的占用和提高系统吞吐量。问题引入在平时与客户服务与交流过程中,我们不止一次的被客人问及这样的场景:我们现在面临如何设计SQL Server日志表方案,如何最优化设计数据库日志记录表。因为,日志表设计会面对如下问题:表记录数大:日志表由于记录了应用程序的很多操作日志,有的业务有很多步骤,甚至每个步骤操作都会被记录到日志表中,所原创 2020-06-23 20:49:19 · 1730 阅读 · 0 评论 -
MySQL · 源码分析 ·Innodb 引擎Redo日志存储格式简介
MySQL有多种日志。不同种类、不同目的的日志会记录在不同的日志文件中,它们可以帮助你找出mysqld内部发生的事情。比如错误日志:用来记录启动、运行或停止mysqld进程时出现的问题;查询日志:记录建立的客户端连接和执行的语句;二进制日志:记录所有更改数据的语句,主要用于逻辑复制;慢日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。而对MySQL中最常用的事务引擎innodb,redo日志是保证事务一致性非常重要的。本文结合MySQL版本5.6为分析源码介绍MySQL原创 2020-06-23 20:46:14 · 323 阅读 · 0 评论 -
利用gdb跟踪MDL加锁过程
MDL(Meta Data LocK)的作用在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住。这会导致如下问题(MySQL bug#989)master: 未提交的事务,但SQL已经完成(binlog也准备好了),表schema发生更改,在commit的时候不会被察觉到.slave: 在binlog里是以事务提交顺序记录的,DDL隐式提交,因此在备库先执行DDL,后执行事务trx,由于trx原创 2020-06-23 20:40:58 · 538 阅读 · 0 评论 -
MySQL 5.7 XA 改进
关于MySQL XA 事务MySQL XA 事务通常用于分布式事务处理当中。比如在分库分表的场景下,当遇到一个用户事务跨了多个分区,需要使用XA事务 来完成整个事务的正确的提交和回滚,即保证全局事务的一致性。XA 事务在分库分表场景的使用下图是个典型的分库分表场景,前端是一个Proxy后面带若干个MySQL实例,每个实例是一个分区。假设一个表test定义如下,Proxy根据主键”a”算Hash决定一条记录应该分布在哪个节点上:create table test(a int prim原创 2020-06-23 20:39:41 · 164 阅读 · 0 评论 -
show binary logs 灵异事件
问题背景最近在运维 MySQL 中遇到一个神奇的问题,分享给大家。现象是这样的,show binary logs没有返回结果,flush binary logs后也不行, 但是 binlog 是正常工作的,show master staus是有输出的。mysql> show binary logs;Empty set (0.00 sec)mysql> show master status\G*************************** 1. row ******...原创 2020-06-23 20:37:28 · 1268 阅读 · 0 评论 -
orchestrator 安装?参数?VIP脚本?
orchestrator 安装?参数?VIP脚本?原创 2019-07-23 17:36:30 · 1404 阅读 · 0 评论 -
死锁日志解析
转载 2019-04-22 18:06:47 · 523 阅读 · 0 评论 -
mysql入门帮助
开发,运维,想要了解mysql,看看这篇文章还是不错的原创 2019-04-17 11:08:20 · 139 阅读 · 0 评论 -
binlog2sql与Myflash
一、场景 一般情况下,数据表被误操作,通常都会使用 备份+binlog 进行恢复。那如果误操作为dml而不是ddl,并且操作的语句不多,这样的话使用该方式会极大的影响业务,这就造成一个痛点:少量数据不恢复不行,恢复又极大的影响线上业务。这时binlog2sql应运而生,但是使用binlog2sql恢复会比较慢,这时Myflash 也就随之出现。具体应该使用哪一个下文会进行优缺点分析...原创 2018-12-28 14:35:49 · 1115 阅读 · 0 评论 -
GTID 工作原理介绍
一、 GTID基本概念 ( Global transaction identifiers ) 1.MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分(uuid:trans_id),一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件中,这是一个非常重要的文件,不能删除,这一部分是不会变的。另外一部分就是事务ID了,随着事务...原创 2018-10-09 16:56:08 · 16403 阅读 · 1 评论 -
mysqldump 参数解析(详细)
目录DDL OptionsReplication OptionsFormat OptionsFiltering OptionsTransactional Options总结DDL Options--add-drop-databasedefault: false在创建每个数据库语句之前编写一个DROP(if exists)数据库语句. 这个选项通常和“--a...原创 2018-09-26 17:36:57 · 7117 阅读 · 1 评论 -
TokuDB 安装
一、背景二、准备三、安装步骤 1. 关闭透明大页面 2. 安装jemalloc 3.安装 Percona Server MySQL (1)下载 percona server MySQL rpm 安装包 (2) 编辑启动my.cnf 文件(最简) ...原创 2018-09-19 14:09:01 · 1656 阅读 · 0 评论 -
TokuDB 与 InnoDB 基准测试
一、背景介绍TokuDB架构的核心是基于一种新的叫做分形树(Fractal Trees)的索引数据结构,故而有非常快的写入性能。TokuDB还拥有很高的压缩比(官方称最大可达25倍),可以在很大的数据上创建大量的索引,并保持性能不下降。同时,TokuDB支持ACID和MVCC等特性,使其在某些特定的应用领域(如日志存储与分析)有着独特的优势。在TokuDB的应用场景中,通常是数据库插入...原创 2018-09-19 10:06:09 · 887 阅读 · 0 评论 -
MySQL 8.0 新特性一观
新特性有很多,在此只列举了一下我比较感兴趣的一些内容。如果想要多了解一些,请参照官方文档。原创 2018-08-29 18:12:34 · 352 阅读 · 0 评论 -
MySQL OCP例题与解析
1. A simple master-to-slave replication is currently being used. The following information is extracted from the SHOW SLAVE STATUS output:Last_SQL_Error: Error 'Duplicate entry '8' for key 'PRIMARY''...转载 2018-08-28 10:59:54 · 7042 阅读 · 2 评论