随笔分类 - MySQL
摘要:背景: 一个简单的主从结构,主的binlog format是Mixed模式,在执行一条简单的导入语句时,通过mysqlbinlog导出发现记录的Binlog全部变成了Row的格式(明明设置的是Mixed),现在就说说在什么情况下Binlog的Mixed模式会转变记录成Row格式。 概念: binlo
阅读全文
摘要:为了查阅方便,做个笔记。 通过show processlist查看MySQL的进程状态,在State列上面的状态有如下这些: Analyzing线程对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE )。checking permissions线程检查服务器是否具有所需的权限来执
阅读全文
摘要:概念: XA(分布式事务)规范主要定义了(全局)事务管理器(TM: Transaction Manager)和(局部)资源管理器(RM: Resource Manager)之间的接口。XA为了实现分布式事务,将事务的提交分成了两个阶段:也就是2PC (tow phase commit),XA协议就是
阅读全文
摘要:背景: MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。MySQL5.5默认是关闭的,需要手动开启,在配置文
阅读全文
摘要:[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] thp-setting=never socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user
阅读全文
摘要:摘要: 继上一篇的文章 初识 MySQL 5.5 新功能、参数 之后,现在MySQL5.6 针对 MySQL5.5 各个方面又提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面(后续不定时更新)。 一:性能、功能上的提升。 ① 在线DDL即 online DDL,日常的增删字段和索引
阅读全文
摘要:thread pool
阅读全文
摘要:本文来自:http://myrock.github.io/ 首先我们来说下in()这种方式的查询。在《高性能MySQL》里面提及用in这种方式可以有效的替代一定的range查询,提升查询效率,因为在一条索引里面,range字段后面的部分是不生效的。使用in这种方式其实MySQL优化器是转化成了n*m
阅读全文
摘要:背景: 之前介绍过 MySQL 5.5 新功能、参数,现在要用MySQL5.6,所以就学习和了解下MySQL5.6新的特性和功能,尽量避免踩坑。在后续的学习过程中文章也会不定时更新。 一:参数默认值的改变。 Table Changes to Server Defaults in MySQL 5.6
阅读全文
摘要:本文来自:http://blog.itpub.net/22664653/viewspace-1714269/一 前言 MySQL 的主从复制作为一项高可用特性,用于将主库的数据同步到从库,在维护主从复制数据库集群的时候,作为专职的MySQL DBA,笔者相信大多数人都会遇到“Got fatal er...
阅读全文
摘要:背景: MySQL5.6在5.5的基础上增加了一些改进,本文章先对其中一个一个比较大的改进"GTID"进行说明。 概念: GTID即全局事务ID(global transaction identifier),GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID
阅读全文
摘要:根据http://www.cnblogs.com/cchust/p/4601536.html进行验证测试问题背景在mysql上面执行一条普通的insert语句,结果报错:Incorrect string value: '\x91;offl...' for column 'c' at row 1重现:...
阅读全文
摘要:本文来自:http://www.cnblogs.com/cenalulu/p/4325693.html要了解为什么会出现乱码,我们就先要了解从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为。为了更好的解释这个过程,博主制作了两张流程图,分别对应存入...
阅读全文
摘要:背景: 主从环境一样,字符集是utf8。 Slave复制报错,平时复制都正常也没有出现过问题,今天突然报错: perror 1366 从上面2个信息得到从库复制失败的原因是因为字符集的问题引起的。 分析: 在Master上查询该条记录,看看是否正常: 在主上写入正常,但在从上写入就报错了,为什么?
阅读全文
摘要:本文来自:http://blog.chinaunix.net/uid-26896862-id-3993773.html刚刚经历了淘宝的双11,真实感受到了紧张的氛围。尽管DB淡定的度过,但是历程中的波折,可谓惊心动魄。其中MySQL在大量连接(万级)的场景下,表现出性能远远低于预期,并且出现明显的波...
阅读全文
摘要:本文来自:http://www.woqutech.com/?p=1116MySQL本身通过showslavestatus提供了Seconds_Behind_Master,用于衡量主备之间的复制延迟,但是今天碰到了一个场景,发现Seconds_Behind_Master为0,备库的showslaves...
阅读全文
摘要:背景: TokuDB引擎是有Tokutek开发的一个数据库存储引擎,在设计之初便引入了独特的索引算法,在其官网测试的文章中看到TokuDB性能比InnoDB高出很多。 MySQL是一个插件式的数据库,在MySQL5.5版本之前MyISAM是MySQL的默认存储引擎,在之后的版本中默认的存储引擎变成了
阅读全文
摘要:背景: MariaDB 在10.0.5就已经支持了并行复制的功能,即从库多线程复制的功能。MySQL最先在5.6.3中支持。目前暂时没有用MySQL5.6的版本,故暂时只对MariaDB进行一些说明,后期会对MySQL进行说明。 对于replication很多同学都已经很熟悉了,这里稍微讲下...
阅读全文
摘要:本文来自:沃趣科技http://www.woqutech.com/?p=14591.概述前面很多大侠都分享过MySQL的InnoDB存储引擎将数据刷新的各种情况。我们这篇文章从InnoDB往下,看看数据从InnoDB的内存到真正写到存储设备的介质上到底有哪些缓冲在起作用。我们通过下图看一下相关的缓冲...
阅读全文
摘要:背景: 在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,在局域网内连接倒问题不大;要是在外网里访问数据或则复制,则安全隐患会被放大很多。由于项目要求需要直接和外网的一台实例进行同步。所以本文介绍下通过SSL加密的方式进行复制的方法,来进一步提高数据的安全性
阅读全文