![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 84
shuxiang1990
某互联网公司搬砖
展开
-
Redis和MongoDB的复制、持久化、集群和集群管理功能
redis的复制功能原创 2014-08-19 20:40:46 · 1085 阅读 · 0 评论 -
慢查询堆积导致从库不可用
现象收到报警,提示某个端口的某几个从库连接超时,偶尔连接失败。凭经验,猜测应该是慢查造成的(如果是机器挂了,应该一直报连接失败,并且 MySQL 服务器千兆网卡很少会存在网络带宽打满的问题)。登上机器查看负载情况(由于机器负载较高,卡在了登录过程中,kill 了之后才能上去。因为 CPU 基本上都忙于处理 SQL 语句,影响其他比如 ssh 服务的连接处理。),看到如下状况:CPU 基本占满(8 核原创 2016-12-01 00:58:25 · 1021 阅读 · 0 评论 -
Xtrabackup 2.2.12 线上使用过程中遇到的 FTWRL 问题
背景最近线上使用 Xtrabackup 做热备份的时候遇到一个非常奇怪的问题: 线上在从库上进行热备的时候,从库的 SQL 线程堵在了 waiting for global read lock 上,时间最长的堵了 7 小时。原理在摆开问题之前先来看下 Xtrabackup 2.2.12 备份的原理。xtrabackup 2.3 之前有两个程序:一个是 innobackupex perl 脚本,一个原创 2016-12-04 00:27:09 · 951 阅读 · 0 评论 -
MySQL 从库延迟原因以及分析
背景在 MySQL 5.6 之前从库复制都是单线程的,因此当主库压力比较大,从库访问量也比较大的时候容易出现从库延迟的状况,以下列出了一些造成从库延迟的原因以及可能的解决办法。参考了淘宝内核月报的文章,这篇文章比较好延迟的原因1、内存配置过小或者 iops 配置(这个指的是 io capacity,sas 盘和 ssd 盘配置有区别)不当。2、主库 TPS 过高。(从库单线程复制会遇到此问题)3、主转载 2016-12-04 17:56:36 · 5370 阅读 · 0 评论 -
MySQL InnoDB 的 Double Write Buffer
参考原文: http://blog.itpub.net/22664653/viewspace-1140915/partial page write 问题InnoDB 的 Page Size 一般是 16KB,其数据校验也是针对这 16KB 来计算的,将数据写入到磁盘是以 Page 为单位进行操作的。而计算机硬件和操作系统,在极端情况下(比如断电)往往并不能保证这一操作的原子性,16K 的数据,写入转载 2016-12-01 23:13:19 · 1005 阅读 · 0 评论 -
zabbix 的一次优化尝试
背景笔者维护的 zabbix 数据库,由于监控几千台机器,几百个监控项,后台数据库压力比较大。zabbix 数据默认存放在 MySQL,基本 SQL 都是自己生成,当监控的机器数多了,监控项也多了之后,很多低效 SQL 的问题就暴露出来了。下面记录下对 zabbix 的运维改造过程。问题读写量大。写量每天 1 亿次,曾一度超过微博最大端口的写量。读量每天 2 亿,也排在所有端口读量的前 6 名。原创 2016-12-01 01:12:13 · 7617 阅读 · 2 评论 -
记一次库级别的拆分
背景线上有个 LBS 的端口,每秒1600左右的写入,从库经常延迟。经观察后发现大部分写入操作都集中在更新某个 DB 上,该 DB 容量也有将近 400G,占了整个端口的 70%,并且容量还处于上涨的趋势。大量的 update 导致从库追不上,对于日常备份、扩容都是问题。(如果表结构以及 update 语句使用不当,update 造成的资源消耗将会非常多,可参考何登成的 MySQL 源码分析视频)需原创 2016-12-01 00:22:26 · 411 阅读 · 0 评论 -
mysql5.6自带工具集(一)
一、innochecksum — Offline InnoDB File Checksum Utility原理:按page读取并计算表空间文件中的所有page的checksum值,并和每个page中保存的checksum进行比较,如果checksum不一样就打印出不一样的地方。5.6.16以后可以支持校验2GB以上的文件。限制:不能校验已经打开的文件使用方式:inn原创 2015-12-19 18:05:59 · 890 阅读 · 0 评论 -
innodb_buffer_pool特性和参数调整学习
一、Innodb buffer pool prefetch技术为减少IO次数,提高mysql性能,innodb利用局部性原理,使用了两种page预取技术(预取page时,会读取整个extent,并且是异步读取):Linear read-ahead 和 Random read-ahead。(问题:若是之前读取的page很随机,这种预取技术是否反而带来负面效果?)1、Linear read原创 2015-12-13 17:29:06 · 1464 阅读 · 0 评论 -
数据库基本理论
第一范式:主键唯一第二范式:列不可分第三范式:要求在一个关系中不能出现在其他关系中已经包含的非主键信息(除主键外的数据冗余)SQL定义的四种隔离级别:Read Uncommitted(RU):读取其他事务已经修改但未提交的数据。(脏读,违反事务的隔离性)Read Committed(RC):读取已经提交的数据。但是,在一个事务中(当前事务还未提交),对同一个项,前后两次读取原创 2014-08-04 20:54:10 · 605 阅读 · 0 评论 -
mysql
mysql5.6的xin'gong'nengPerformance: up to 230% better than MySQL 5.5Scalability: up to 48 coresConfiguration: New Default SettingsPerformance SchemaInnoDB: Online DDL (Schema Changes)Inno原创 2014-10-02 15:34:31 · 405 阅读 · 0 评论 -
Data Organization in InnoDB
翻译一篇Transactions on InnoDB的文章翻译 2014-08-11 14:18:14 · 661 阅读 · 1 评论 -
MySQL 慢日志解析推送
背景方案确定搭建配置文件部署问题背景之前有用 pt-query-digest 做的慢日志分析的方案,定期将所有机器的慢日志的收集起来,传到中心机上用 pt-query-digest 分析一遍,最后展示出来。 基于 pt 分析展示的结果比较详细,有 SQL 排行,占比等,但是用户体验不是特别好,不能一目了然。该功能本来是可以给开发看的,但是很少有开发会去看,每次有慢查询需要和开发配合进原创 2016-11-30 23:30:58 · 1132 阅读 · 0 评论