05 2012 档案
摘要:前言: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 版本)如果你是这个版
阅读全文
摘要:背景:众所周知,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
阅读全文
摘要: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'
阅读全文
摘要:情况描述:最近在分析服务器的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 上也有网友表示遇到过这样的情况: 链接第一步:确认相关语句没有问题使用以
阅读全文
摘要:#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
阅读全文
摘要:背景:假设这么一个情况,你是某公司mysql-DBA,某日突然公司数据库中的所有被人为删了。尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。但是拥有数据库操作权限的人很多,如何排查,证据又在哪?是不是觉得无能为力?mysql本身并没有操作审计的功能,那是不是意味着遇到这种情况只能自认倒霉呢?本文就将讨论一种简单易行的,用于mysql访问审计的思路。关键字:init—connect,binlog,trigger概述:其实mysql本身已经提供了详细的sql执行记录–general log ,但是开启它有以下几个缺点无论sql有无语法错误,只要执行了就会记录,
阅读全文
摘要:本博客已经迁移至:http://cenalulu.github.io/本篇博文已经迁移,阅读完整的文章请点击:http://cenalulu.github.io/mysql/cannot-rotate-relaylog/今天在运维一个mysql实例时,发现其数据目录下的relay-log 长期没有删...
阅读全文