MySQL Master Slave Replication
MySQL本身没有提供replication failover的解决方案(见How can I use replication to provide redundancy or high availability?)
如何使Replication方案具有HA?
答案是MMM(MySQL Master-Master Replication Manager)
MMM对MySQL Master-Slave Replication绝对是一个很有益的补充!
引言
Master-Slave的数据库机构解决了很多问题,特别是read/write比较高的web2.0应用:
1、写操作全部在Master结点执行,并由Slave数据库结点定时(默认60s)读取Master的bin-log
2、将众多的用户读请求分散到更多的数据库节点,从而减轻了单点的压力
这是对Replication的最基本陈述,这种模式的在系统Scale-out方案中很有引力(如有必要,数据可以先进行Sharding,再使用replication)。
它的缺点是:
1、Slave实时性的保障,对于实时性很高的场合可能需要做一些处理
2、高可用性问题,Master就是那个致命点([url="http://en.wikipedia.org/wiki/Single_point_of_failure "]SPOF:Single point of failure[/url])
本文主要讨论的是如何解决第2个缺点。
DB的设计对大规模、高负载的系统是极其重要的。高可用性([url="http://en.wikipedia.org/wiki/High_availability "]High availability[/url])在重要的系统(critical System)是需要架构师事先考虑的。存在[url="http://en.wikipedia.org/wiki/Single_point_of_failure "]SPOF:Single point of failure[/url]的设计在重要系统中是危险的。
Master-Master Replication
1、使用两个MySQL数据库db01,db02,互为Master和Slave,即:
一边db01作为db02的master,一旦有数据写向db01时,db02定时从db01更新
另一边db02也作为db01的master,一旦有数据写向db02时,db01也定时从db02获得更新
(这不会导致循环,MySQL Slave默认不会记录Master同步过来的变化)
2、但从AppServer的角度来说,同时只有一个结点db01扮演Master,另外一个结点db02扮演Slave,不能同时两个结点扮演Master。即AppSever总是把write操作分配某个数据库(db01),除非db01 failed,被切换。
3、如果扮演Slave的数据库结点db02 Failed了:
a)此时appServer要能够把所有的read,write分配给db01,read操作不再指向db02
b)一旦db02恢复过来后,继续充当Slave角色,并告诉AppServer可以将read分配给它了
4、如果扮演Master的数据库结点db01 Failed了
a)此时appServer要能够把所有的写操作从db01切换分配给db02,也就是
相关文档:
做一些数据库查询,不仅希望得到要查询的结果,还希望方便地统计一下查询结果中有多少条记录。我通常的做法是:
$q = "select * from $fromTable where $where limit $start,$pageSize";
$r = mysql_query($q);
$q = "select count(*) from $fromTable where $where";
$cnt = mysql_query($q);
当 ......
准备:
lighttpd-1.4.15.tar.gz
php-4.4.2.tar.gz
mysql-5.0.20a.tar.gz
开始:
1 编译安装lighttpd
# tar zxvf lighttpd-1.4.15.tar.gz
# cd lighttpd-1.4.15
# ls
# ./configure --prefix=/usr/local/lighttpd //此部无法编译时提示安装prce-devel
#&nbs ......
mysql> SOURCE [路径]文件名
有两种写法:
1、
mysql> SOURCE cr_pet_tbl.sql
这个时候,cr_pet_tbl.sql必须放在你的mysql/bin目录下面,即跟mysql.exe同一目录
2。
mysql> SOURCE c:\cr_pet_tbl.sql
这个时候位置位置正确即可, ......
MySQL字符串函数的应用与注意事项
以下的文章主要向大家描述的是MySQL字符串函数的实际应用与其实际操作代码的描述,同时本文还对其在实际应用中,一些值得我们大家注意的相关事项的描述,以下就是文章的主要内容描述,望你会有所收获。
CHARSET(str) 返回字串字符集
CONCAT (string2 [,& ......