摘要: 在平时的mysql文档学习中我们经常会看到这么一句话:MySQL tries to leave space so that future inserts do not incur un-necessary page splits (and thus higher IO cost). In an "ideal" world, MySQL tries to keep the index pages at 15/16-th full, but depending on insert order, this fill factor can be as low as 1/2大致含义就 阅读全文
posted @ 2012-06-29 15:09 cenalulu 阅读(3120) 评论(0) 推荐(3) 编辑
摘要: 本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/mysql-timeout/前言:MySQL中有两个关于连接超时的配置项。他们之间在某些条件下会互相继承,那究竟这两个参数会在什么情... 阅读全文
posted @ 2012-06-20 09:47 cenalulu 阅读(11908) 评论(0) 推荐(3) 编辑
摘要: 前言:MySQL 的大表运维总是令人头疼的一件事,特别是大表表结构的修改尤为困难。首先,alter table 的process不可被kill , 一旦执行就不可回退。其次,大多数的alter table操作都会涉及 lock --- copy to new table --- rename --- unlock的过程,锁表时间会很长。本文不是讨论如何进行大表表结构变更, 而是汇总一些不涉及copy to new table这一步的alter table情况。这些情况下,mysql会直接修改frm文件,而lock的时间也仅是秒级的。MySQL 5.0 系列 (即5.0.x 版本)如果你是这个版 阅读全文
posted @ 2012-05-31 15:25 cenalulu 阅读(12666) 评论(2) 推荐(0) 编辑
摘要: 背景:众所周知,MySQL只支持一对多的主从复制,而不支持多主(multi-master)复制。当然,5.6的GUID功能的出现也带来了multi-master的无限可能,不过这个已经是题外话了。本文主要介绍一种非实时的适用于各版本MySQL的multi-master方法。内容简介:最初的思路来源于一位国外DBA的blog :http://thenoyes.com/littlenoise/?p=117基本原理就是通过SP记录当前 master-log的name和pos记录到表中,然后读取下一个master记录,执行stop slave / change master / start slave 阅读全文
posted @ 2012-05-22 17:54 cenalulu 阅读(2901) 评论(0) 推荐(2) 编辑
摘要: fio-attach简介:将PCI-E 设备/dev/fct0 挂载为 /dev/fioa作用:系统启动时,dev下只会有fct0设备。如果需要作为块设备使用必须先进行attach。当然也可以通过修改module文件配置成自动挂载echo "modprobe flashcache" > /etc/sysconfig/modules/flashcache.modules;chmod 755 /etc/sysconfig/modules/flashcache.modules;echo 'options iomemory-vsl auto_attach=1' 阅读全文
posted @ 2012-05-15 16:08 cenalulu 阅读(4801) 评论(0) 推荐(1) 编辑
摘要: 情况描述:最近在分析服务器的slow-log和bin-log的时候,发现这两个log中有某些语句的execute time 极大例如:4294967295。log信息:#091008 21:40:04 server id 1 end_log_pos 3440531 Query thread_id=63169 exec_time=4294967295 error_code=0而出现这种极长执行时间的语句却不固定,最终通过以下的分析过程,找到了这个问题出现的原因updated at 2012-05-14: chinaunix 上也有网友表示遇到过这样的情况: 链接第一步:确认相关语句没有问题使用以 阅读全文
posted @ 2012-05-14 18:23 cenalulu 阅读(2543) 评论(0) 推荐(3) 编辑
摘要: #preparecheck_args() && init()#start#根据配置决定是进行 copy_back, apply_log , bakcup 三种模式中的哪一个#下面具体介绍backup中(即备份)的具体过程copy_back() or apply_log() or backup()#以下是backup()函数中的内容#检查cmdline提供的连接参数是否能够连接MySQL 实例#并执行一句select语句,检测健康状态b.1 mysql_open();b.2 mysql_close();#该函数将调用xtrabackup进行备份。b.3 start_ibbacku 阅读全文
posted @ 2012-05-14 16:54 cenalulu 阅读(1075) 评论(0) 推荐(1) 编辑
摘要: 背景:假设这么一个情况,你是某公司mysql-DBA,某日突然公司数据库中的所有被人为删了。尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。但是拥有数据库操作权限的人很多,如何排查,证据又在哪?是不是觉得无能为力?mysql本身并没有操作审计的功能,那是不是意味着遇到这种情况只能自认倒霉呢?本文就将讨论一种简单易行的,用于mysql访问审计的思路。关键字:init—connect,binlog,trigger概述:其实mysql本身已经提供了详细的sql执行记录–general log ,但是开启它有以下几个缺点无论sql有无语法错误,只要执行了就会记录, 阅读全文
posted @ 2012-05-09 18:22 cenalulu 阅读(3557) 评论(2) 推荐(2) 编辑
摘要: 本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读完整的文章请点击:http://cenalulu.github.io/mysql/cannot-rotate-relaylog/今天在运维一个mysql实例时,发现其数据目录下的relay-log 长期没有删... 阅读全文
posted @ 2012-05-08 15:16 cenalulu 阅读(4923) 评论(0) 推荐(3) 编辑