日志分类:技术细节

Xtrabackup备份和恢复MySQL(下)

2009-10-19 11:44  |  分类:MySQL,技术细节

作者:周振兴 mail
来自:supu@TaobaoDBA 2009年10月13日星期二
摘要:上篇中我们介绍了Xtrabackup的编译安装,以及如何使用innobackupex来备份和恢复数据库。本文将继续介绍Xtrabackup中的另一个工具xtrabackup(二进制脚本)。innobackupex对xtrabackup进行了封装可以同时备份InnoDB和MyISAM数据表,在备份MyISAM表时会进行全局锁表,如果单独使用xtrabackup,我们不仅可以实现真正的“在线”备份,还可以进行增量备份InnoDB。本文将介绍如何单独使用xtrabackup来备份你的InnoDB数据。(本文PDF版本:上篇 下篇

[......]

Read more

迥异的Linux Shell Script

2009-09-17 15:44  |  分类:Linux,技术细节

作者:mail
摘要:如果你已经习惯编写Shell脚本,那么一切都显得很自然了。但像我这样,之前已经习惯了C语言(风格)的编程,就觉得Shell并不是那么友好。这里将记录一些Shell和"C风格"迥异的地方,以供参考。本文测试环境:GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)。文章中很多实例直接来在参考文件[1]、[2]。

Linux

[......]

Read more

Xtrabackup备份和恢复MySQL(上)

2009-09-2 14:40  |  分类:MySQL,技术细节

作者:mail
来自:TaobaoDBA 2009年9月2日星期三
摘要:本文介绍了XtraBackup的安装(编译安装)和使用。Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。本文测试使用的是0.8版本,与当前最新版本是0.9区别并不大。Xtrabackup有两个主要的工具:xtrabackup、innobackupex,其中xtrabackup只能备份InnoDB和XtraDB两种数据表,innobackupex则封装了xtrabackup,同时可以备份MyISAM数据表。本文仅仅介绍了innobackupex的备份和恢复。

[......]

Read more

innodb_flush_method 与 File I/O

2009-08-30 19:10  |  分类:技术细节

陶方在《innodb_flush_method带来的性能影响》中从实验角度比较了fdatasync,O_DSYNC和O_DIRECT在性能上的差异。本文将试图从Linux/Unix"文件I/O"(unbuffered I/O)的角度来解释innodb_flush_method是如何影响MySQL的I/O。【附录1】

innodb_flush_log_at_trx_commit参数确定日志文件何时write、flush。innodb_flush_method则确定日志及数据文件如何write、flush。在Linux下,innodb_flush_method可以取如下值:fdatasync, O_DSYNC, O_DIRECT,那这三个值分别是如何影响文件写入的?首先我们需要先来了解Linux的文件I/O是如何工作的。
[......]

Read more

sphinx使用介绍(前篇)

2009-08-19 22:51  |  分类:技术细节

到今天为止校内论坛Discuz)上的主题数量已经到达了40w,所有回复约500W。随着数据量的增大,DZ自带的站内搜索给数据库的带来的压力越来越大,甚至会导致数据库停止服务(MyISAM在SLOW Query和update并发问题)。取代站内搜索,我们使用了google的自定义搜索服务,google的速度非常快,但是对于论坛来说,Google不能返回实时的搜索结果,而且也无法定制搜索(如安装标题、作者、内容)。

所以,我们将尝试使用sphinx来解决这个问题。先看看sphinx是怎样工作的:[......]

Read more

InnoDB之Dirty page、Redo log

2009-08-13 09:55  |  分类:技术细节

在InnoDB中,buffer pool里面的dirty page一方面可以加快数据处理速度,同时也会造成数据的不一致(RAM vs DISK)。本文介绍了dirty page是如何产生,以及InnoDB如何利用redo log如何消除dirty page产生的数据不一致。

  1. 当事务(Transaction)需要修改某条记录(row)时,InnoDB需要将该数据所在的page从disk读到buffer pool中,事务提交后,InnoDB修改page中的记录(row)。这时buffer pool中的page就已经和disk中的不一样了,我们称buffer pool中的page为dirty page。Dirty page等待flush到disk上。
    dirty_pages
    UTF8_EXCER[......]

Read more

Pages: Prev 1 2 3 4 5 Next