摘要:
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
阅读(326)
评论(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
阅读(887)
评论(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
阅读(201)
评论(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
阅读(269)
评论(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
阅读(227)
评论(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
阅读(265)
评论(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
阅读(278)
评论(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
阅读(385)
评论(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
阅读(436)
评论(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
阅读(351)
评论(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
阅读(393)
评论(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
阅读(280)
评论(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
阅读(222)
评论(0)
推荐(0)
摘要:
http://yueliangdao0608.blog.51cto.com/397025/81534 阅读全文
posted @ 2011-10-28 15:23
wwh
阅读(109)
评论(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
阅读(1432)
评论(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
阅读(431)
评论(0)
推荐(0)
摘要:
cat <mysql安装路径>/bin/mysqlbug | grep CONFIGURE_LINE 阅读全文
posted @ 2011-10-28 15:22
wwh
阅读(289)
评论(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
阅读(462)
评论(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
阅读(141)
评论(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
阅读(276)
评论(0)
推荐(0)
摘要:
原文作者:风轻扬出处:http://wangyuanzju.blog.163.com/blog/static/1302920070245344752/警告 此为冗长的纯技术帖,为我对于Web 2.0的存储引擎如何充分利用数据访问扭曲这一特点来提高性能的一些想法。对于不关注细节的用户可以只看以下几个要点:Web(2.0)应用的数据访问模式通常具体扭曲性,即少量数据被频繁访问,其余大量数据很少被访问传统的数据库采用的页级缓存可以利用数据访问本地性,但对数据访问扭曲性通常与事无补利用数据访问扭曲的第一招是使用记录缓存,其效果是使相同的内存能够缓存更多的频繁访问的记录利用数据访问扭曲的第二招是高频记录 阅读全文
posted @ 2011-10-28 15:18
wwh
阅读(163)
评论(0)
推荐(0)
摘要:
MySQL把表的数据词典信息以.frm文件的形式存在数据库目录里,所有MySQL存储引擎都是这样的。但是每个InnoDB表在表空间内的InnoDB内部数据词典里也有它自己的条目。当MySQL移除表或数据库,它不得不删除.frm文件和InnoDB数据词典内的相应条目。这就是为什么你不能在数据库之间简单地移动.frm文件来移动InnoDB表。 1、聚集索引和第二索引每个InnoDB有一个叫聚集索引(clustered index)的特殊索引,行的数据被存于其中。如果你的表定义了主键,主键的索引就是聚集索引。 如果你的表没有主键,MySQL就选择第一个不可为空的唯一索引(UNIQUE)作为主键,.. 阅读全文
posted @ 2011-10-28 15:18
wwh
阅读(324)
评论(0)
推荐(0)
摘要:
sysbench是一款开源的性能测试工具,可以对多种数据库的性能进行测试,包括用来对MySQL,ORACLE,POSTGRESQL进行性能测试。sysbench按照指定的数量开启线程,每个线程与MySQL建立一个连接,每个线程不停地进行事务操作,打开事务,然后进行一些查询、更新、插入操作,提交事务,再开始新的事务;所有的SQL只访问一个表sbtest,是由sysbench的prepare命令建好的。其中的记录数,也是在prepare时指定好并创建的。测试结束,会有一个统计结果,包括例如每秒事务数、平均响应时间等等。下面是一个sysbench调用调用存储过程的例子:sysbench --test 阅读全文
posted @ 2011-10-28 15:16
wwh
阅读(369)
评论(0)
推荐(0)
摘要:
前几天群里有人问MySQL的游标能不能嵌套使用,想当然地以为不能,后来试了下,居然可以,唉,不能随便想当然啊。例子如下:CREATE PROCEDURE curdemo() NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN declare done1,done2 int default 0; declare name1,name2 varchar(20); declare id1,id2 int; declare cur1 cursor for select id,name f... 阅读全文
posted @ 2011-10-28 11:50
wwh
阅读(328)
评论(0)
推荐(0)
摘要:
大型的系统,数据库往往会根据业务逻辑分隔放在多台机上,但统计的时候又经常需要互相关联,MySQL理论上是不支持多个主库同步到一个从库上的,那么如果实现多主一从以方便统计查询呢?我试着利用MyISAM的简单文件存储的特点来实现,过程如下:1设置主库,启用Binlog,建议复制帐号。具体过程跟一主多从设置一样。2设置从库,在从库使用mysqld_multi启动多库实例,每个实例对应一个主库,并分别设置好主从复制。需要注意的是,1、从库只安装MyISAM引擎,这样不管主库是用什么引擎,从库都使用MyISAM。2、从库的几个实例的数据目录使用同一个,这样每个实例都可以访问其他实例的表。3、使用Cron 阅读全文
posted @ 2011-10-28 11:43
wwh
阅读(676)
评论(0)
推荐(0)
摘要:
今天几台MySQL服务器突然停电,重启后复制无法启动,总是报如下错误:080922 10:29:01 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000778' at position 2874108, relay log ' ./relay-bin.003287' position: 2874245080922 10:29:01 [Note] Slave I/O thread: connected to master 'replication@1 阅读全文
posted @ 2011-10-28 11:42
wwh
阅读(444)
评论(0)
推荐(0)
摘要:
昨天修改一个表的字段,发现主从复制同步失效了,但同步进程没有出错,mysql日志也没有出错,仔细查找了一下原因,发现是新增的自增主键字段的起始值在主从库上不一致,导致按主键更新数据时无法在从库找到对应记录。事情经过如下:表table1(主库为innodb类型,从库为MyISAM类型),有一自增主键pid,现将pid改成非自增,非主键,另外增加一自增主键。alter table table1 modify pid int not null;alter talbe table1 drop primary key;alter table table1 add aid int not null aut 阅读全文
posted @ 2011-10-28 11:40
wwh
阅读(429)
评论(0)
推荐(0)
摘要:
./configure --prefix=/usr/local/nginx安装Nginx时报错./configure: error: the HTTP rewrite module requires the PCRE library.安装pcre-devel解决问题yum -y install pcre-devel错误提示:./configure: error: the HTTP cache module requires md5 functionsfrom OpenSSL library. You can either disable the module by using--withou. 阅读全文
posted @ 2011-10-28 11:37
wwh
阅读(171)
评论(0)
推荐(0)
摘要:
由于Cookie是保存的用户客户端的,安全性存在问题,为保证用户数据的安全性,我们必须使用Session机制来保存用户登录后的一些信息。 如果我们使用LVS对Apache实现负载均衡,就无法保证用户每次都能被分配到同一台Apache Server上,以取到自己的Session,虽然LVS可以加-p参数来保证客户端每次都被分配到同一台Apache Server上,但这种方式存在一些弊端,比如必须设置一个保持时间,如果时间太长了,LVS就需要缓存大量信息,时间太短了,又不能保证用户每次被分配到同一台Server上,而且这种方式也不易实现Session的冗余备份。 因此,我们需要Session共享, 阅读全文
posted @ 2011-10-28 11:30
wwh
阅读(1108)
评论(0)
推荐(0)
摘要:
LVS是1998年5月由章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如RedHat的Piranha,TurboLinux公司的Turbo Cluster等,都是基于LVS的核心代码的。在现实的应用中,LVS得到了大量的部署。 1.3 LVS集群的特点功能 有实现三种IP负载均衡技术和八种连接调度算法的IPVS软件。在IPVS内部实现上,采用了高效的Hash函数和垃圾回收机制,能正确处理所调度报文相关的ICMP消息(有些商品化的系统反而不能)。虚拟服务的设置数目没有限制,每个虚拟服务有自己的服务器集。它支持持久的虚拟服务(如HTTP Cookie和HTTPS等需要该功能的支持 阅读全文
posted @ 2011-10-28 11:20
wwh
阅读(518)
评论(0)
推荐(0)
摘要:
今天用CPAN安装Term::ReadLine,报了个这样的错误Going to read /root/.cpan/sources/modules/03modlist.data.gz Can't locate object method "data" via package "CPAN::Modulelist" (perhaps you forgot to load "CPAN::Modulelist"?) at (eval 31) line 1. at /usr/lib/perl5/5.8.5/CPAN.pm line 34 阅读全文
posted @ 2011-10-28 11:14
wwh
阅读(1107)
评论(0)
推荐(0)
摘要:
锁升级是将众多细粒度锁转换为较少的粗粒度的锁的过程,以削减系统开销。当事务超过它的升级极限时,Microsoft® SQL Server™ 2000 自动将行锁和页锁升级为表锁。例如,当事务从表中请求行时,SQL Server 自动获取受影响的行上的锁,并在包含这些行的页和表或者索引上放置更高级别的意向锁。当事务控制的锁数量超过了它的极限时,SQL Server 会试图将表上的意向锁更改为更强的锁(例如,将意向排它 (IX) 锁更改为排它 (X) 锁)。获取更强的锁后,表事务持有的所有页级锁和行级锁都被释放,从而削减锁的开销。SQL Server 可以为同一查询选择行和页锁定,例如, 阅读全文
posted @ 2011-10-28 11:11
wwh
阅读(713)
评论(0)
推荐(0)
摘要:
如果使用innodb存储引擎,推荐使用innotop来监控管理,详见:http://www.xaprb.com/blog/2006/07/02/innotop-mysql-innodb-monitor/如果想在windows下使用,请参照:http://www.xaprb.com/blog/2006/11/11/how-to-install-innotop-on-microsoft-windows/ 阅读全文
posted @ 2011-10-28 11:07
wwh
阅读(373)
评论(0)
推荐(0)
摘要:
Address 为Innodb表,AppUser 为FEDERATED表,下面的连接查询如果用INNER JOIN 就正常,用left join连接的结果Name全为null,即使有匹配的行,怀疑是mysql的bugselect a.*,b.Name from Address AS aLEFT JOIN AppUser AS b ON b.AID = a.CheckAdminIDwhere a.AID=1006948暂时解决办法:将AppUser改名AppUser1,建个视图AppUser引用AppUser1,结果正常。 阅读全文
posted @ 2011-10-28 10:52
wwh
阅读(302)
评论(0)
推荐(0)
摘要:
原文:http://blog.csdn.net/liuyunfengheda/article/details/5805043POSTFIX邮局系统搭建全过程(postfix+courier-imap+maildrop+cyrus-sasl+ extman+ SpamAssassin+ clamav+ amavisd-new搭建mail服务器)作者:刘运锋前言:现在网上有很多搭建postfix邮局系统的文章,其中也不乏优秀的文章,但是根据那些并不能完整的将postfix邮局系统架设起来。笔者也深受一些错误文章的影响,在搭建的过程中遇到这样和那样的问题,此次将postfix邮局系统完成的搭建一遍, 阅读全文
posted @ 2011-10-28 10:32
wwh
阅读(1696)
评论(0)
推荐(0)

浙公网安备 33010602011771号