04 2014 档案

摘要:今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了。不知道怎么解决。当时我也不知道怎么办。后来查阅相关资料。终找到解决方法。其实恢复也挺简单的。我们不知道的时候就觉得难了。谁说不是这样呢?下面我们就来模拟生产环境下,人为删除数据文件和重做日... 阅读全文
posted @ 2014-04-30 21:20 yayun 阅读(3200) 评论(1) 推荐(0)
摘要:今天无意中看到了沃趣网络科技的一篇文章请不要用SECONDS_BEHIND_MASTER来衡量MYSQL主备的延迟时间感觉分析的相当不错,该文章中也提到了使用pt-heartbeat这个工具检测主从延迟时间。而且我转载的一篇博文也说明了Seconds_Behind_Master的真正含义,所以还是决... 阅读全文
posted @ 2014-04-24 23:52 yayun 阅读(3923) 评论(0) 推荐(0)
摘要:在MySQL的主从环境中,我们可以通过在slave上执行show slave status来查看slave的一些状态信息,其中有一个比较重要的参数Seconds_Behind_Master。那么你是否明白它的真正含义以及它是怎么计算的呢? 在之前我一直误以为Seconds_Behind_Mas... 阅读全文
posted @ 2014-04-24 20:18 yayun 阅读(3814) 评论(0) 推荐(0)
摘要:早上到公司,刚准备吃早餐,手机响了,一看是服务器自动重启了。好吧,准备修复数据吧。游戏服的游戏日志使用的是MyISAM。众所周知,MyISAM表在服务器意外宕机或者mysqld进程挂掉以后,MyISAM表会损坏,数据小的话修复还比较快,但是数据如果有10G以上,那就悲剧了。那我们如何加快repair... 阅读全文
posted @ 2014-04-22 12:13 yayun 阅读(4464) 评论(0) 推荐(0)
摘要:简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,M 阅读全文
posted @ 2014-04-22 00:30 yayun 阅读(166013) 评论(56) 推荐(32)
摘要:1.方案简介本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证。默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自动切换到备机上继续提供服务,当主数据库修复完毕,又将服务切回继续由主mysql提供服务。2.方案优缺点... 阅读全文
posted @ 2014-04-19 00:44 yayun 阅读(19025) 评论(10) 推荐(6)
摘要:简介MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行... 阅读全文
posted @ 2014-04-18 01:37 yayun 阅读(27443) 评论(3) 推荐(5)
摘要:在前面几篇文章已经详细介绍了MySQL Cluster的搭建,配置讲解。而且相信大家都掌握了基本用法。现在我们来看看Cluster的日常维护。熟悉日常维护,将有助于工作中更好的管理和使用Cluster。一. 数据备份相信大家都熟悉mysql的日常备份工具,比如mysqldump对数据库进行逻辑备份。... 阅读全文
posted @ 2014-04-17 00:03 yayun 阅读(4577) 评论(0) 推荐(0)
摘要:在上篇文章已经详细说明了MySQL Cluster搭建与测试,现在来说说详细的配置参数。在MySQL Cluster 环境的配置文件 config.ini 里面,每一类节点都有两个(或以上)的相应配置项组,每一类节点的配置项都主要由两部分组成,一部分是同类所有节点相同的配置项组,在[NDB_MGM ... 阅读全文
posted @ 2014-04-16 12:31 yayun 阅读(2638) 评论(0) 推荐(1)
摘要:MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统。不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能。和Oracle Real Cluster Application不太一样的是,MySQL Cluster 是一个Share Nothing的架构,... 阅读全文
posted @ 2014-04-16 00:03 yayun 阅读(12021) 评论(3) 推荐(1)
摘要:在生产环境中,我们的架构很多都是一主多从。比如一个主数据库服务器M,两个从数据库服务器S1,S2同时指向主数据库服务器M。当主服务器M因为意外情况宕机,需要将其中的一个从数据库服务器(假设选择S1)切换成主数据库服务器,同时修改另一个从数据库(S2)的配置,使其指向新的主数据库(S1)。此外还需要通... 阅读全文
posted @ 2014-04-14 01:14 yayun 阅读(11691) 评论(3) 推荐(2)
摘要:MySQL Replication 大家都非常熟悉了,我也不会写怎么搭建以及复制的原理,网上相关文章非常多,大家可以自己去搜寻。我在这里就是想总结一下mysql主从复制需要注意的地方。有人说主从复制很简单嘛,就是master,slave的server_id不一样就搞定。确实,简单的来说就是这么简单。... 阅读全文
posted @ 2014-04-13 21:14 yayun 阅读(7931) 评论(1) 推荐(1)
摘要:在工作中接触最多的就是mysql replication,由于现在公司也还在使用mysql 5.1.x版本,在复制方面还是比较多的问题,比如主库宕机或者从库宕机都会导致复制中断,通常我们需要进行人为修复(mysql 5.5版本解决大部分问题),或者很多时候需要把一个从库提升为主库,但对从库和主库的数... 阅读全文
posted @ 2014-04-13 16:35 yayun 阅读(15970) 评论(2) 推荐(3)
摘要:ICP(index condition pushdown)是mysql利用索引(二级索引)元组和筛字段在索引中的where条件从表中提取数据记录的一种优化操作。ICP的思想是:存储引擎在访问索引的时候检查筛选字段在索引中的where条件(pushed index condition,推送的索引条件),如果索引元组中的数据不满足推送的索引条件,那么就过滤掉该条数据记录。ICP(优化器)尽可能的把index condition的处理从server层下推到storage engine层。storage engine使用索引过过滤不相关的数据,仅返回符合index condition条件的数据给ser 阅读全文
posted @ 2014-04-10 21:57 yayun 阅读(1027) 评论(0) 推荐(0)
摘要:innodb_flush_method这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的:有三个值:fdatasync(默认),O_DSYNC,O_DIRECT默认是fdatasync,调用fsync()去刷数据文件与redo log的buffer为O_DSYNC时,innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件为O_DIRECT时,innodb使用O_DIRECT打开数据文件,使用fsync()刷写数据文件跟redo log首先文件的写操作包括三步:open,write,flush上面最常提到的 阅读全文
posted @ 2014-04-10 16:41 yayun 阅读(792) 评论(0) 推荐(0)
摘要:当innodb_file_per_table设置为OFF,那么所有数据将被存储在ibdata文件。如果删除一些数据和删除一些表则没有回收未使用的磁盘空间,除了导出表然后再导入的方法来回收表空间大小,除此之外没有任何其他的方法。当innodb_file_per_table设置为ON时,每个表中存储的数据和索引在它自己的表空间文件。但是,共享表空间的ibdata1仍然在增长,为什么呢?因为ibdata1中依然有:(1)data dictionary aka metadata of InnoDB tables(2)change buffer(3)doublewrite buffer(4)undo l 阅读全文
posted @ 2014-04-09 18:04 yayun 阅读(2672) 评论(0) 推荐(0)
摘要:xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速度快,占用磁盘空间小等特点,并且支持不同情况下的多种备份形式。xtrabackup的官方下载地址为http://www.percona.com/softwa... 阅读全文
posted @ 2014-04-08 00:19 yayun 阅读(28753) 评论(3) 推荐(5)
摘要:在数据库的日常维护中,对于数据量小的备份,我们常常采用的是逻辑备份,也就是使用mysqldump导出。数据量比较大的备份会使用percona的xtrabackup,关于xtrabackup工具的使用以及原理请参考我前面的文章xtrabackup详解,当然还有其他的方法。现在我们主要来深入看看mysqldump几个比较常用参数的原理。要需要了解mysqldump各种参数做了什么,我们需要打开查询日志来分析,打开查询日志很简单,在[mysqld]段落添加如下参数:general_log=1general_log_file=/data/mysql/general.log重启mysql服务器,然后我们 阅读全文
posted @ 2014-04-04 00:05 yayun 阅读(1899) 评论(0) 推荐(0)
摘要:1.禁止操作系统更新文件的atime属性 atime是Linux/UNIX系统下的一个文件属性,每当读取文件时,操作系统都会将读操作时间回写到磁盘上。对于读写频繁的数据库文件来说,记录文件的访问时间一般没有任何用处,却会增加磁盘系统的负担,影响I/O性能!因此,可以通过设置文件系统的mount熟悉, 阅读全文
posted @ 2014-04-03 21:49 yayun 阅读(3592) 评论(1) 推荐(0)
摘要:MySQL通过BINLOG记录执行成功的INSERT,UPDATE,DELETE等DML语句。并由此实现数据库的恢复(point-in-time)和复制(其原理与恢复类似,通过复制和执行二进制日志使一台远程的MySQLl数据库,多称为slave,进行实时同步)。MySQL 5.5.x以后的版本支持3... 阅读全文
posted @ 2014-04-01 01:27 yayun 阅读(3956) 评论(0) 推荐(0)