MySQL复制对于临时表的处理
在跟网友讨论 inception 这个工具的回滚功能设计时,知道了它会根据 binlog 中的 query event 带的 thread id 来定位此次会话所执行的 SQL 语句有哪些,这是一个事务,当然定位回滚数据还需要 binlog position。而在 MySQL 中对于,如果你的 binlog 模式为 statement 格式,那么所有的 ev……
如果你将innodb_open_files设置为高于open_files_limit会发生什么?
MySQL配置变量的设置对数据库系统的性能有重要影响,有时候预测一个变量如何影响其他变量的这个问题可能有点棘手,特别是在处理我将在本文中描述的案例时,结果不是很直观。所以在这里,我们将看看当你将innodb_open_files设置为高于open_files_limit时会发生什么? 我们可以使用以下命令设置MySQL中的最大打开文件数: ……
MySQL RR隔离级别死锁问题剖析
本案例在RR隔离级别下,模拟数据如下: CREATE TABLE `ty` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), ……
MySQL performance_schema系列文章
一、导语 很久之前,当我还在尝试着系统地学习performance_schema的时候,通过在网上各种搜索资料进行学习,但很遗憾,学习的效果并不是很明显,很多标称类似 “深入浅出performance_schema” 的文章,基本上都是那种动不动就贴源码的风格,然后深入了之后却出不来了。对系统学习performance_schema的……
MySQL表锁定(Table Locking)
MySQL允许客户端会话显式获取表锁,以防止其他会话在特定时间段内访问表。客户端会话只能为自己获取或释放表锁。它无法获取或释放其他会话的表锁。 在详细讨论之前,我们将创建一个名为示例的数据库sbtest,其中包含一个名为tbl实践表锁定语句的简单表。 CREATE DATABASE sbtest; CREATE TABLE t……
Amazon RDS多区域高可用测试
最近在AWS上面需要部署一组多区域RDS集群,AWS的多区域简单理解就是RDS一主一从分别在当地的两个机房(两个区域)。所以就有了下面各方面的测试。 我们需要测试什么? Primary挂掉时,Secondary是否会自动升级为Primary提供服务,切换期间中断多久? 发生切换后,数据是否有丢失? TPS&QPS分别是多少(配置不同得到的值会不同)……
MySQL备份恢复:Xtrabackup流传输实践
XtraBackup支持流式备份,将备份以指定的tar或xbstream格式发送到STDOUT,而不是直接将文件复制到备份目录。要使用此功能,仅需要使用--stream选项即可,指定流格式为tar或xbstream,以及指定存储临时文件的绝对路径。 $ innobackupex --stream=tar /tmp ……
MySQL备份恢复:Xtrabackup全备strace调用栈信息
innobackupex全备strace调用栈信息解释,以下strace输出信息去掉了一些无用信息: 注意事项: 留意open系统调用等号后边的数字,这个数字是open打开一个文件时系统分配的FD号,如果一旦调用了close(FD)之后,系统会回收该FD分配给其他open的文件使用,请留下下文中的FD切换 innobackupex工具在备份过程中会创建几个……
MySQL 8.0:持久化自增列值
MySQL 8.0修复了一个MySQL十年之久的自增列Bug,在2003年由Percona的CEO(当时应该还没Percona吧)提出的bug#199。先重现一下这个BUG。 create table t1(id int auto_increment, a int, primary key (id)) engine=innodb……
InnoDB Drop Table的机制及瓶颈
一、背景 在使用 MySQL 时,如果有大表的存储引擎是 InnoDB,并且系统参数 innodb_file_per_table 设置为 1,即每个文件对应一个独立的表空间,当对这些大表进行 DROP TABLE 时,有时会发现整个数据库系统的性能会有显著下降,包括一些只涉及几行数据的简单 SELECT 查询和 DML 语句,而且这些语句和正在删除的大表没有……
MySQL发展时间轴
毫无疑问,目前MySQL已经成为最为流行的开源关系数据库系统,并且一步步地占领了原有商业数据库市场。如今Google、Facebook、Yahoo、网易、九游、淘宝等大公司都在使用MySQL数据库。而MySQL的发展也从1.0到如今的8.0版本,其功能的完善和稳定性也得到了很好的保证。 简单来说,MySQL发展史可分为三个阶段,如下图: 第一阶段:MySQ……
PMM中的饱和度量值(Saturation Metrics)
PMM 1.2添加新图形之一是饱和度度量(Saturation Metrics)标准。这篇博文解释如何使用这些图表提供的信息。 您可能听说过Brendan Gregg的USE方法(利用率 – 饱和度 – 误差)作为分析任何系统性能的方法。我们在PMM中的目标是随着时间的推移完全支持这种方法,这些图表使我们向前迈进了一步。 在利用率方面……