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ºÍORACLEµÄһЩ²Ù×÷Çø±ð
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1.×Ô ......
ǰ׺Ë÷Òý
(1)Èç¹ûÒÔ¶à¸ö×Ö¶Î×÷ΪË÷Òý£¨a,b£¬c)×÷Ϊһ¸ökey,ÔÚ²éѯʱ·Ö¸ù¾ÝÆ¥ÅäÇé¿öÊÇ·ñʹÓÃË÷Òý£¬ËùÒÔ£¬a/ a,b/ a,b,cÕâÑùµÄ²éѯ¶¼ÄÜʹÓõ½£¬µ«ÊÇb,a/a,c/c,aµÈ²»·û֪ǰ׺ƥÅä¾Í²»ÄÜʹÓã¬ËùÒÔÔÚдsqlʱÐèҪעÒâ
(2)¶ÔÓںܳ¤µÄ×Ö·û´®ÐèÒªÉú³Ékeyʱ£¬¿ÉÒÔÕÒ³ö×ʹÓõÄ×Ö·û´®µÄ×î³£¼ûǰ׺(ǰN¸ö×ÖÌõ×÷Ϊkey,¶ø²»Êǽ ......
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!
[root@localhost]# mysql -u root -p
Enter password:
ERROR 2002 (H ......
ÏÈ˵Ã÷Ò»ÏÂBlobµÄÀàÐÍ£¬Ö±½Ó´ÓÍøÉÏÕª³ÁË£¡£¡£¡
1¡¢MySQLÓÐËÄÖÖBLOBÀàÐÍ:
¡¡¡¡·tinyblob:½ö255¸ö×Ö·û
¡¡¡¡·blob:×î´óÏÞÖÆµ½65K×Ö½Ú
¡¡¡¡·mediumblob:ÏÞÖÆµ½16M×Ö½Ú
¡¡¡¡·longblob:¿É´ï4GB
2¡¢³ýÁËÀàÐͶԺóÃæ´æÈ¡Îļþ´óСÓÐÏÞÖÆ£¬»¹ÒªÐÞ¸ÄmysqlµÄÅäÖÃÎļþ¡£
¡¡¡¡Windows¡¢linux»ù±¾Ò»Ñù ......
---------------------------------------------------------------------------
---- ±¾ÎÄΪandkylee¸öÈËÔ´´£¬ÇëÔÚ×ðÖØ×÷ÕßÀͶ¯³É¹ûµÄǰÌáϽøÐÐ×ªÔØ£»
---- ×ªÔØÎñ±Ø×¢Ã÷Ôʼ³ö´¦
:
http://blog.csdn.net/andkylee
--- 2010-05-31 18:46:12
---- ¹Ø¼ü×Ö£º MySQL ·ÖÒ³ limit
----------------------- ......