随笔分类 - MySQL
摘要:本文会简要介绍,OnlineSchemaChange在经历从PHP到Python重写后的改进和变化 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址: 英语原版: https://code.facebook.com/posts/129006919
阅读全文
摘要:> 在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:[十分钟搞清字符集和字符编码](http://cenalulu.github.io/linux/character-encoding/)# 本博客已经迁移至:[http://cenalulu.githu...
阅读全文
摘要:> 本文将简单介绍基于5.6 GTID的主从复制原理的搭建。并通过几个实验介绍相关故障的处理方式# 本博客已经迁移至:[http://cenalulu.github.io/](http://cenalulu.github.io/)# 为了更好的体验,请通过此链接阅读:[http://cenalulu...
阅读全文
摘要:> 本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进# 本博客已经迁移至:[http://cenalulu.github.io/](http://cenalulu.github.io/)# 本篇博文已经迁移,如果格式显示混乱,请通过以下链接查看:[http://cenal...
阅读全文
摘要:本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/linux/character-encoding/ > 本文将简述字符集,字符编码的概念。以及在遭遇乱码时的一些常用诊断技巧> 背景:字符集和编...
阅读全文
摘要:分享主题:MySQL高可用架构 --- MMM&MHA在大众点评应用和改进内容简介:本次演讲,主要讲述以下几个方面1. MMM在点评网是如何使用的2. 细数MMM上踩过的坑以及如何填坑3. MMM和MHA之间的抉择PPT下载链接:http://pan.baidu.com/s/1mg3G2MW大会链接...
阅读全文
摘要:本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/mysql-tools-list/本文汇总了和MySQL运维开发相关的所有工具,并会持续更新1. 工具套件集percona-tool...
阅读全文
摘要:引:最近业务开发过程中需要涉及到全局唯一ID生成。之前零零总总的收集过一些相关资料,特此整理以便后用本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/guid-generate/唯一...
阅读全文
摘要:背景:最近采购了一批新的服务器,底层的存储设备的默认physical sector size从原有的 512B 改为了 4K。装完系统以后,在做数据库物理备份恢复时xtrabackup报了这么一个错。但是同样的备份在512B sector size的老系统上却可以恢复。报错如下:InnoDB:Error:triedtoread2048bytesatoffset00.InnoDB:Wasonlyabletoread0.14030418:48:12InnoDB:Operatingsystemerrornumber22inafileoperation.InnoDB:Errornumber22mean
阅读全文
摘要:日常工作中经常会有需要从mysqldump导出的备份文件恢复数据库的情况,相比物理备份恢复这种方式在恢复时间上往往显得力不从心。本文就总结了几个对于逻辑备份恢复有加速作用的参数和操作注意:我们的大前提是,恢复的目标数据库在恢复完成前,没有对外部提供服务1. 参数调整log-bin=OFF恢复时开启二进制日志显然是无意义的,增加了不必要的IO。因此关闭该选项sync_binlog=0如果关闭了二进制日志,则这个选项不调整。但如果因为特殊原因不能关闭二进制日志时,可以考虑减少binlog的fsync来减少磁盘IO压力。Innodb_buffer_pool_size 尽可能大尽可能大的配置Innod
阅读全文
摘要:前言:最近在线上诊断QPS飙升的过程中深入进行了下Admin Ping Command的测试。此外,再一些国外文章中最近也读到了一些相关知识,所以写成一篇博文做一下总结。1. 关于Admin Ping Command?由于查阅官方文档中没有关于Admin Ping Command的描述和介绍。因此,Google了很多页面,把大家的阐述做一个个人理解总结如下:什么是Admin Ping Command(后文简称ping命令)?ping命令实际上是提供了一种轻度消耗命令接口,这种接口用于去判断一个持久连接是否存活,或者远端MySQL是否存活。当远端MySQL Server接收到这种特殊形式的命令后
阅读全文
摘要:前言:最近在阅读Innodb IO相关部分的源代码。在阅读之前一直有个疑问,show global status 中有两个指标innodb_data_reads 和innodb_data_read。两个计数器仅差一个字母,他们之间的含义到底有何差别呢?本文将通过解析这两个参数的含义,分析Innodb对于磁盘IO相关的一些知识首先我们来看下MySQL官方文档里对于这两个参数的解释:Innodb_data_readThe amount of data read since the server was started.Innodb_data_readsThe total number of dat
阅读全文
摘要:最近国外blog上看到的一片资源分享博文,精而全,于是转帖分享Must-Read Books ListFirst of all, I would like to share a list of books I believe every professional in our field should read at some point in their life. You may notice that many of these books are not too technical or are not really related to the pure systems admini
阅读全文
摘要:遇到如题的这么一个场景:需要在MySQL的一张innodb引擎的表(tableA)上添加一个唯一索引(idx_col1_u)。但是表中已经有大量重复数据,对于每个key(col1),有的重复2行,有的重复N行。此时,做数据的手工清理,或者SQL处理无疑是非常耗时的。1. Alter ignore table come to help印象中MySQL有一个独有的 alter ignore add unique index的语法。语法如下:ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name行为类似于insert ignore,即遇到冲突的unique数
阅读全文
摘要:背景:最近在做一台线上服务器IO负载情况的时候发现了以下现象:24小时的IO_UTIL 的曲线看似风平浪静,毛刺较少但当图片放大到半小时级别的时候发现IO_UTIL即磁盘使用率出现了规律性的波动,见下图:本文就将从这个现象触发,探究出现这样规律性波动的原因。Step1: 服务器上进行实时IO负载查看通过iostat -x 1 每隔一秒对IO使用情况进行一次负载查看。可以看到UTIL有规律性的波动(10秒1次)。且负载的主要来源在于写请求(负载高时,wsec/s 也同步升高)又由于服务器是MySQL独占,所以比较容易的就可以将原因归结为是MySQL的数据刷写导致(log/data)。看到这里大神
阅读全文
摘要:最近由于 CPAN上 Net::ARP 这个包的稳定版本从 1.0 升级到了 1.0.8, 导致触发了mmm的一个bug。bug的现象:agent没有办法将VIP附着在本机上。agent日志中报错如下:2013/08/13 06:26:47 FATAL Couldn't configure IP '10.1.1.2' on interface 'eth0': undefbug原因:MMM/Agent/Helpers/Network.pm 文件中136行,使用了如下语句:if ($Net::ARP::VERSION < 1.0) {原来版本是1.0
阅读全文
摘要:前段时间在阿里嘉年华的workshop做了一些关于memcache高可用和MMM Mod的分享。下面是相关的PPT,特此分享。ADC官网直接在线查看:http://adc.alibabatech.org/carnival/history/schedule/2013/detail/work/112我的微盘下载:http://vdisk.weibo.com/s/dWX58BdRixQC
阅读全文
摘要:前言:在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的util),但是无法快速的定位到IO负载的来源进程和来源文件导致无法进行相应的策略来解决问题。这个现象在MySQL上更为常见,在5.6(performance_schema提供io instrument)之前,我们通常只能猜到是MySQL导致的高IO,但是没法定位具体是哪个文件带来的负载。例如是ibdata的刷写?还是冷门ibd的随机读取?本文就将介绍一个比较简单的定位IO高负载的流程。工具准备:iotop:http://guichaz.free.fr/iotop/pt-ioprofile:http://www
阅读全文
摘要:前言:memcache自带的memslap功能无法满足性能测试需要。google以后找到了更为强大的工具memaslap(没错就是多了一个“a”)。具体功能见:http://docs.libmemcached.org/bin/memaslap.html但是在安装过程中不断碰壁,于是将安装过程记录如下Step1:下载安装包memaslap是 libmemcached的一个组件,因此需要编译安装。首先需要下载libmemcached。下载地址:https://launchpad.net/libmemcached/+downloadStep2:解压编译./configure --enable-mem
阅读全文
摘要:起因:开发报告说更新时出错。更新SQL如下:UPDATE table_name d SET d.column_name='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' WHERE d.ID=100976;报错信息如下:Error Code : 1118Row size too large. The maximum row size for the used table type, n
阅读全文