摘要: DRBD是一种块设备,可以被用于高可用(HA)之中。它类似于一个网络RAID-1功能。当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上。以相同的形式记录在一个文件系统中。本地(主节点)与远程主机(备节点)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。1.3 环境准备 两台主机:192.168.100.8,192.168.100.9 需要为本地主机和远程主机,指定一个DRBD使用的硬盘分区。这两个分区的大小必须相同。我们指定两台主机的/dev/sda2分区作为DRBD的使用的分区.这两个分区大小都为37G. 1.4 DRBD的安 阅读全文
posted @ 2011-10-28 16:41 wwh 阅读(297) 评论(0) 推荐(0) 编辑
摘要: Amoeba(变形虫,读:阿米巴)项目,专注分布式数据库proxy开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 主要解决: • 降低数据切分带来的复杂多数据库结构 • 提供切分规则并降低数据切分规则给应用带来的影响 • 降低db 与客户端的连接数1.3 安装Amoeba Amoeba 框架是基于JDK1.5开发的,采用了JDK1.5的特性。支持Mysql 协议版本10(mysql 4.1以后的版本),因此,使用Amoeba需要安装JDK1.5或以上版本,My 阅读全文
posted @ 2011-10-28 16:34 wwh 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 作者:happytest 原文: http://happytest.blog.51cto.com/324097/62848当你使用UPDATE, INSERT, DELETE语句更新数据的时候,你就改变了两个地方的数据:log buffer和data buffers。Buffers是固定长度的内存块,通常是512字节。LOG BUFFER DATA BUFFER ================= =============== = Log Record #1 = = Page Header = = Log Record #2 = = Data Row = = Log Record #3 =. 阅读全文
posted @ 2011-10-28 16:16 wwh 阅读(193) 评论(0) 推荐(0) 编辑
摘要: MySQL Cluster 配置文件1、管理节点config.ini[tcp default] SendBufferMemory=2M ReceiveBufferMemory=2M[ndb_mgmd default] PortNumber=1185 DataDir=/u01/mysql-cluster/data/ndb_mgmd[ndb_mgmd] id = 1 hostname=localhost[ndbd default] NoOfReplicas=2 #DataDir=/u01/mysql-cluster/data/ndbd[ndbd] hostname=localhost id=2 D 阅读全文
posted @ 2011-10-28 16:11 wwh 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 原文:http://blog.chinaunix.net/space.php?uid=10449864&do=blog&id=2956835在http://www.mysqlperformanceblog.com/2009/03/05/what-does-using-filesort-mean-in-mysql/这个文章里面,了解到了filesort的意思,而刚好淘宝的DBA--张朝阳也做了这个实验,下面这个对说明就来自张朝阳的blog,说的很经典! 我就按照文章做个实验,感受下实际效果。 总的来说,在 MySQL 中的ORDER BY有两种排序实现方式,一种是利用有序索引获取 阅读全文
posted @ 2011-10-28 16:07 wwh 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 作者:NinGoo | 【转载须以超链接形式标明文章原始出处和作者信息】原文:http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html在上一篇里,演示了使用xtrabackup对InnoDB进行在线物理热备,使用innobackupex脚本,可以很简单的一条命令行搞定InnoDB和MyISAM的物理备份。本文则演示如何从xtrabackup的备份中进行恢复。本次恢复的是一个600GB大小的InnoDB数据库,备份的时候没有使用gzip压缩。首先将备份好的tar文件解开到目标数据库的数据路径下,这一 阅读全文
posted @ 2011-10-28 15:48 wwh 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 作者:NinGoo | 【转载须以超链接形式标明文章原始出处和作者信息】原文:http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.htmlMySQL数据库的备份,一直是个比较头痛的问题。各种工具虽然不少,但一个真正好用易用的,却又非常难找。Mysqldump做为数据的逻辑备份工具还行,但是无法进行在线热备,而没有物理备份工具,在数据量比较大的时候,恢复的时间也会长得无法接受。InnoDB倒是有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备。最近发现了一个工具,percon 阅读全文
posted @ 2011-10-28 15:47 wwh 阅读(273) 评论(0) 推荐(0) 编辑
摘要: XtraDB 是Percona公司开发的一个MySQL 的存储引擎,其设计的主要目的是用以替代现在的InnoDB。XtraDB 100%的兼容 InnoDB。在性能上有很大提高, 评测可看这里http://www.mysqlperformanceblog.com/2009/07/14/performance-improvements-in-percona-5-0-83-and-xtradb/ 。以下是我安装过程笔记:1、下载XtraDB wget -c http://www.percona.com/mysql/xtradb/5.1.37-7/source/MySQL-percona-5.1.3 阅读全文
posted @ 2011-10-28 15:44 wwh 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 作者:苏普 | 【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】 地址:http://www.taobaodba.com/html/317_innodb-dirty-page-redo-log.html在InnoDB中,buffer pool里面的dirty page一方面可以加快数据处理速度,同时也会造成数据的不一致(RAM vs DISK)。本文介绍了dirty page是如何产生,以及InnoDB如何利用redo log如何消除dirty page产生的数据不一致。当事务(Transaction)需要修改某条记录(row)时,InnoDB需要将该数据所在的page从disk 阅读全文
posted @ 2011-10-28 15:37 wwh 阅读(348) 评论(0) 推荐(0) 编辑
摘要: MySQL5.1之前general log不能在运行时启用或禁用,有时想捕捉SQL来查找问题就很麻烦,偶然间发现一个很不错的小工具:mysqlsniffer,可以用来捕捉SQL语句,使用帮助如下:mysqlsniffer --help mysqlsniffer v1.2 - Watch MySQL traffic on a TCP/IP networkUsage: mysqlsniffer [OPTIONS] INTERFACEOPTIONS: --port N Listen for MySQL on port number N (default 3306) --verbose Show ex 阅读全文
posted @ 2011-10-28 15:34 wwh 阅读(344) 评论(0) 推荐(0) 编辑
摘要: MySQL 5.1开始,binlog支持row-based的格式,默认情况下只能看到一些经过base-64编码的信息,如DELIMITER /*!*/; # at 7493962 #090827 5:25:03 server id 1 end_log_pos 0 Start: binlog v 4, server v 5.1.26-rc-community-log created 090827 5:25:03 BINLOG ' L6iVSg8BAAAAZgAAAAAAAAAAAAQANS4xLjI2LXJjLWNvbW11bml0eS1sb2cAAAAAAAAAAAAAAAAA AAA 阅读全文
posted @ 2011-10-28 15:31 wwh 阅读(382) 评论(0) 推荐(0) 编辑
摘要: MySQL Cluster中,如果启用了binlog,在任何sql node的更新操作,都会写入所有node的binlog,当然,这是有条件的:更新操作的node上binlog_format=mixed或者row,反之,如果是statement,就只会在更新操作的node上写入binlog。另外,MySQL Cluster Replication是要求binlog是row-based,所以要将master的binlog设置为mixed或row。手册中如是说:Replication of a MySQL Cluster as described in this section and those 阅读全文
posted @ 2011-10-28 15:26 wwh 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 最近搭建了MySQL Cluster的环境来学习,发现一个很有意思的现象,在不加order by的情况下,返回的结果顺序是随机的,每次都不一样,如下mysql> select * from test_ndb limit 3; +---+-------+ | i | a | +---+-------+ | 5 | test5 | | 1 | test1 | | 2 | test2 | +---+-------+ 3 rows in set (0.05 sec)mysql> select * from test_ndb limit 3; +---+-------+ | i | a | 阅读全文
posted @ 2011-10-28 15:25 wwh 阅读(217) 评论(0) 推荐(0) 编辑
摘要: http://yueliangdao0608.blog.51cto.com/397025/81534 阅读全文
posted @ 2011-10-28 15:23 wwh 阅读(104) 评论(0) 推荐(0) 编辑
摘要: cat <mysql安装路径>/bin/mysqlbug | grep CONFIGURE_LINE 阅读全文
posted @ 2011-10-28 15:22 wwh 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 有一个数据库,之前是从库,后来切换成主库了,my.cnf中的关于主库的配置已经注释掉,show slave status结果是也空的,但一直发现每天用mysqldump备份(带--flush-logs)之后会产生一个relay-bin.xxxxxx,删除了relay-bin.*之后,还是会继续产生,怎么回事呢?还是求助google吧,终于找到原因。http://bugs.mysql.com/bug.php?id=6178原来从库切换主库之后,需要执行一下RESET SLAVE命令,不然主库配置还是会缓存在master.info文件中,执行RESET SLAVE后,会将master.info和r 阅读全文
posted @ 2011-10-28 15:22 wwh 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 有时程序员需要跟踪sql来查找问题时,我经常会使用mysqlbinlog命令行查看binlog,觉得比较麻烦,今天突然发现原来mysql有个命令可以直接查看。SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]用于在二进制日志中显示事件。如果您不指定'log_name',则显示第一个二进制日志。LIMIT子句和SELECT语句具有相同的语法。 阅读全文
posted @ 2011-10-28 15:22 wwh 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: MyISAM Key buffer命中率: 100 - ( (Key_reads * 100) / Key_read_requests )MyISAM Key buffer的使用率: 100 - ( (Key_blocks_unused * key_cache_block_size) * 100 / key_buffer_size ) InnoDB Buffer Pool 的命中率:(Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads) / Innodb_buffer_pool_read_requests * 100% 阅读全文
posted @ 2011-10-28 15:21 wwh 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 最近机房那边中毒,网络经常不正常,经常导致MySQL的复制中断,前几次都是报Got fatal error 1236: 'error reading log entry' from master when reading data from binary log的错误,今天却出现一个奇怪的现象,从库上show slave status一切正常,主库上却没有了slave i/o的连接,从库日志中也没发现异常。因此我crontab中定期检查slave status的任务也检查不到错误了,没办法stop slave;start slave;复制恢复正常。。。。 阅读全文
posted @ 2011-10-28 15:20 wwh 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 原文作者:风轻扬出处:http://wangyuanzju.blog.163.com/blog/static/1302920070245344752/前两篇文章中已经通过介绍Falcon的架构和对面向Web 2.0的存储引擎的讨论引出数据访问扭曲这一话题,对于我接触更多,也是最为流行的两大开源DBMS:PostgreSQL和MySQL,自然忍不住按它来比较一把了。由于这一问题只与DBMS的存储系统有关,因此这里实际上比较的是PostgreSQL与MySQL的事务型存储引擎InnoDB。PostgreSQL与InnoDB都采用多版本并发控制技术,但两者在存储的实现机制上仍然有以下两个重大差别:P 阅读全文
posted @ 2011-10-28 15:19 wwh 阅读(260) 评论(0) 推荐(0) 编辑