为什么修改表后ibd文件这么大

最近碰到一个很奇怪的问题, 在更改一个 MyISAM 表为 InnoDB 存储引擎后, 表数据文件变的非常大. 原始的表为 MyISAM 引擎, 数据文件和索引文件如下所示: -rw-r----- 1 mysql mysql 8.7K Aug 17 13:34 user_follow.frm -rw-r----- 1 mysql mysql 1.9G...

pcstat 如何获取内存页信息

1. 介绍 详见: https://github.com/tobert/pcstat pcstat 是 page cache stats 的缩写, 使用该工具可以帮助我们判断一个文件是否被 Linux cache 缓存, 或获取进程在 cache 中的缓存信息. 这在调优数据库或诊断其他 IO 密集型应用的场景下会有所帮助. 该工具的输出有多种格式, 选项包括: Usage of ./pcstat:...

了解 select count(*), count(1) 和 count(field)

我们以 MySQL 中的聚合函数 count 来说明 count(*), count(1) 和 count(field) 三者之间的关系以及背后的原理. 概念 http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_count COUNT(expr) 函数返回 select 语句中表达式 expr 非 null 值的数量, 返回值类型为 bigint. Returns a count...

MySQL slave 延迟复制

MySQL slave 延迟复制 延迟复制是一个很简单的概念,区别于传统的异步复制(接近实时), 比如用户误操作, 删除了重要的表, 延迟复制特性保证了用户有机会从延迟的 slave 中恢复误删除的表. 该特性的问题在于需要保证用户有足够的时间从 slave 阻止误操作复制的发生. 要理解该特性如何实现, 我们先简单回顾下 MySQL replication 如何实现, 见下图: 当 master 有一个更新操作(create, drop, delete, insert, update...

pt-osc chunking handles multi-column indexes poorly

最近使用工具 pt-osc (pt-online-schema-change) 对一张约200w记录多列组成的唯一索引的表进行更改索引操作, 在第一条 chunk 操作的时候就开始报错(版本 pt 2.2.7 和 pt 2.2.11), 如下所示: [root@cz table_check]# pt-online-schema-change --alter="drop key idx_guux, add unique key idx_ugux(user_id,goods_id,updatetime,keycode)" A=utf8,h=cz1,P=3306,D=mybase,t=test --ask-pass...

lvs DR模式均衡读请求

env环境: Director IP: 10.0.21.100 vitrual IP: 10.0.21.222 Real server1: 10.0.21.7 Real server2: 10.0.21.17 Director配置: net.ipv4.ip_forward = 1 # 开启ip转发 ip addr add 10.0.21.222/32 dev eth0;...

TokuDB 使用简单说明

按照官方的介绍, TokuDB 引擎是可扩展的,支持事务 ACID 特性, 支持多版本控制(MVCC), 这几点等同 InnoDB 的特性, 不过对基于索引的查询做了很好的改进, 还提供了支持在线表更改的支持(不是所有字段都支持, 后面再说明), 在磁盘和缓存方面也做了很好的改进. TokuDB 结合 松散树索引(Fractal Tree indexing) 可以应用于高负载的大量写(write-intensive)的场景里. 现在的限制还比较多, Percona 从 5.6.19-67.0 开始支持 tokudb,...

zabbix 多端口监控 MySQL

介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过使用 mymonitor.pl 替换了脚本 ss_get_mysql_stats.php, 而且配置有点不同. 具体代码及配置详见: zabbix_mysql 1. 结构说明: zabbix_mysql/ |-- README.md |--...

Perl one line command – 常用正则

Perl one line command - 常用正则 本章说明一些常用的正则表达式, 比如匹配 IP 地址, HTTP 头信息, email 地址等. 1. 匹配 IPv4 地址 IP 地址格式 xxx.xxx.xxx.xxx, 使用 \d 来匹配数字,通用的做法如下: /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/...

Perl one line command – 输出和删除行

Perl one line command - 输出和删除行 本章介绍使用 Perl 命令行输出和删除指定的行内容, 比如 输出/删除 指定的行, 重复的行, 匹配的行等. 输出和删除操作是相对的( -i 参数 ), 明白了如何输出, 删除也就尽在掌握. 1. 输出文本 n 行内容 perl...