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ʵʱÐԵı£ÕÏ£¬¶ÔÓÚʵʱÐԺܸߵij¡ºÏ¿ÉÄÜÐèÒª×öһЩ´¦Àí
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²Ù×÷·ÖÅäij¸öÊý¾Ý¿â(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£¬Ò²¾ÍÊÇ
Ïà¹ØÎĵµ£º
×î½üдÁËÒ»¸ö¼òµ¥µÄMysql²Ù×÷À࣬ÄóöÀ´ºÍ´ó¼Ò·ÖÏíһϣ¬»¹Çë¸÷λ¸ßÊÖÖ¸ÕýÒ»ÏÂÎö¹¹º¯ÊýµÄÓ÷¨£º
<?php
/*
* Created on 2010-5-25
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*
* class mysql
* made by S71ENCE
*/
class mysql ......
Ö÷£º
show master status;
+-----------------+------------+-------------------+-----------------------+
| File |
Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------ ......
Ê×ÏÈÒªÉùÃ÷һϣºÒ»°ãÇé¿öÏ£¬ÐÞ¸ÄMySQLÃÜÂ룬ÊÚȨ£¬ÊÇÐèÒªÓÐmysqlÀïµÄrootȨÏ޵ġ£
×¢£º±¾²Ù×÷ÊÇÔÚWINÃüÁîÌáʾ·ûÏ£¬phpMyAdminͬÑùÊÊÓá£
Óû§£ºphplamp Óû§Êý¾Ý¿â£ºphplampDB
1.н¨Óû§¡£
//怬MYSQL
@>mysql -u root -p
@>ÃÜÂë
//´´½¨Óû§
mysql> insert into mysql.user ......
MySQL×Ö·û´®º¯ÊýµÄÓ¦ÓÃÓë×¢ÒâÊÂÏî
ÒÔϵÄÎÄÕÂÖ÷ÒªÏò´ó¼ÒÃèÊöµÄÊÇMySQL×Ö·û´®º¯ÊýµÄʵ¼ÊÓ¦ÓÃÓëÆäʵ¼Ê²Ù×÷´úÂëµÄÃèÊö£¬Í¬Ê±±¾ÎÄ»¹¶ÔÆäÔÚʵ¼ÊÓ¦ÓÃÖУ¬Ò»Ð©ÖµµÃÎÒÃÇ´ó¼Ò×¢ÒâµÄÏà¹ØÊÂÏîµÄÃèÊö£¬ÒÔϾÍÊÇÎÄÕµÄÖ÷ÒªÄÚÈÝÃèÊö£¬ÍûÄã»áÓÐËùÊÕ»ñ¡£
CHARSET(str) ·µ»Ø×Ö´®×Ö·û¼¯
CONCAT (string2 [,& ......
MS SQL ÖеÄIsNull()º¯Êý£º
IsNull ( check_expression , replacement_expression )
check_expression: ¿ÉÒÔÊÇÈκÎÀàÐÍ,½«Òª¼ì²éµÄ±í´ïʽ ²»Îª¿Õ£¬·µ»ØËü
replacement_expression: ÀàÐͱØÐëºÍcheck_expressionÏàͬ£¬check_expressionΪnull£¬·µ»ØËü
Õâ¸öº¯ÊýµÄ×÷ÓþÍÊÇ£ºÅжÏcheck_expressionÊÇ·ñΪ¿Õ£¬Îª¿Õ¾Í·µ» ......