Ãâó :
http://lastmind.net/blog/2008/05/mysql-replication.htmlMySQL Replication
MySQL ReplicationÀº MySQLÀÌ ±âº»ÀûÀ¸·Î Áö¿øÇÏ´Â µ¥ÀÌÅÍ º¹Á¦ ¹æ½ÄÀÔ´Ï´Ù.
MySQL ReplicationÀº read-write°¡ °¡´ÉÇÑ Master¿Í read-onlyÀÎ Slave·Î ±¸¼ºµÇ´Âµ¥, Master´Â Äõ¸® ·Î±×¿¡ ÇØ´çÇÏ´Â binary log¸¦ ³²±â°í, Slave´Â asynchronousÇÏ°Ô À̸¦ °¡Á®°¡¼ ¹Ý¿µÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¼³Á¤µµ °£´ÜÇØ, 1-3ÁÙ Á¤µµÀÇ ¼³Á¤¸¸ ÇØÁÖ¸é µË´Ï´Ù. °£´ÜÇÑ µ¿ÀÛ ¹æ½Ä¿¡ ±âÃÊÇؼ Multi-slave, Multi-master, Replication chaining µîÀÇ ±¸¼º µîÀÌ °¡´ÉÇÕ´Ï´Ù.
MySQL ReplicationÀÇ ¹®Á¦Á¡µé
Master¿Í Slave°¡ ÃÖ¼ÒÇÑÀÇ Á¤º¸¸¸ °øÀ¯ÇÏ´Â ´Ü¼øÇÑ ¹æ½ÄÀÌ ÀåÁ¡ÀÎ µ¿½Ã¿¡ ´ÜÁ¡À¸·Î ÀÛ¿ëÇÕ´Ï´Ù.
- Master-Slave pair °ü¸® : ¼¹öµéÀÌ ¸¹¾ÆÁú °æ¿ì, Master¿Í SlaveÀÇ Â¦À» °ü¸®ÇÏ´Â °ÍÀÌ ½±Áö´Â ¾Ê½À´Ï´Ù. Master¿Í SlaveÀÇ Â¦À» ´Ù¸¥ ¾îµð¼±°¡ °ü¸®ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.
- ½ÇÆÐ »óȲ¿¡¼ÀÇ º¹±¸ : ´ç¿¬È÷ ÀÚµ¿À¸·Î º¹±¸ÇѴٵ簡 ÇÏ´Â ±â´ÉÀ» MySQLÀÌ Á¦°øÇÏÁö´Â ¾Ê½À´Ï´Ù. Master°¡ ½ÇÆÐÇßÀ» °æ¿ì, Slave¸¦ Master¸¦ ¹Ù²Û´Ùµç°¡, SlaveÀÇ µ¥ÀÌÅ͸¦ Master·Î º¹»çÇØÁشٵ簡 ÇÏ´Â ÀÛ¾÷Àº ¼øÀüÈ÷ ¼öÀÛ¾÷ÀÌ µË´Ï´Ù. Slave°¡ ½ÇÆÐÇßÀ» ¶§µµ, ¸¶Âù°¡Áö ÀÔ´Ï´Ù. SlaveÀÇ ÀϽÃÀûÀÎ ¿À·ù¶ó¸é, Slave´Â ÀÚ½ÅÀÌ ¹Ý¿µÇÑ ·Î±×ÀÇ À§Ä¡¸¦ ±â¾ïÇÏ°í ÀÖ±ä ÇÏÁö¸¸, ÀÌ¿¡ µû¸¥ º¹±¸µµ »ç¶÷ ¼ÕÀÌ °©´Ï´Ù.
- binary logÀÇ °ü¸® : Master´Â Slave¿¡ ´ëÇؼ don't careÀ̹ǷÎ, ¾ðÁ¦ binary log¸¦ »èÁ¦ÇÒ Áö´Â Áֱ⠵îÀ» »ç¿ëÇÕ´Ï´Ù. ¹°·Ð »èÁ¦ÇÏ´Â command°¡ ÀÖÁö¸¸, SlaveµéÀÇ Á¤º¸¸¦ ¹Ý¿µÇؼ ÀÚµ¿À¸·Î »èÁ¦ÇÏ´Â ±â´ÉÀº ¾ø½À´Ï´Ù.
- asynchronicity : Slave´Â Master¿Í °°Àº µ¥ÀÌÅ͸¦ °¡Áö°í ÀÖ´Ù°í º¸ÀåÇÒ ¼ö ¾øÀ¸¹Ç·Î, Slave°¡ MasterÀÇ Äõ¸® 󸮷®À» µû¶ó°¡Áö ¸øÇÏ°Ô µÇ¸é, consistency ¹®Á¦°¡ ¹ß»ýÇÒ ¼ÒÁö°¡ ÀÖ½À´Ï´Ù. µû¶ó¼, ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ÀÌ·¯ÇÑ Á¡À» ½Å°æ½áÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¡µé ¶§¹®¿¡, MySQL ReplicationÀ» ¹é¾÷À¸·Î »ý°¢ÇÏÁö ¸»¶ó´Â Á¶¾ðµéÀÌ µîÀåÇÕ´Ï´Ù.
1, 2, 3¹øÀÇ °æ¿ì¿¡´Â µµ±¸¸¦ ÀÌ¿ëÇؼ ±Øº¹ÇÒ ¼ö ÀÖ½À´Ï´Ù. 1¹ø, 2¹ø¿¡ ´ëÇؼ´Â ¾î´À Á¤µµ µµ±¸¸¦ ¸¸µé¾î ¾²°í Àִµ¥, ÀÎÅÍÆäÀ̽º¸¦ À¥ ÀÎÅÍÆäÀ̽º·Î °³¼±ÇÏ°í Á» ´õ ÀÚµ¿ÈÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. MaakitÀ̶óµç°¡ MySQL Replication Manager µîÀ» Âü°íÇغ¼¸¸ ÇÕ´Ï´Ù.
4¹øÀÇ ¹®Á¦¿¡ ´ëÇؼ´Â MySQL ReplicationÀÌ ¾Æ´Ñ ´ë¾ÈÀ» ã´Â °ÍÀÌ ¿ÇÀ»Áöµµ ¸ð¸£°Ú½À´Ï´Ù. ±¸±Û¿¡¼´Â semi-sync ¸ðµå¸¦ À§ÇÑ ÆÐÄ¡¸¦ ³»³õ±âµµ Çß½À´Ï´Ù.
MySQL ReplicationÀÇ ´ë¾Èµé
ÀϹÝÀûÀ¸·Î MySQL ReplicationÀ» ¾ê±âÇÒ ¶§´Â ´ÙÀ½°ú °°Àº ´ë¾ÈµéÀ» ÇÔ²² ¾ê±âÇÕ´Ï´Ù.
- MySQL Cluster: MySQLÀÌ Á÷Á¢ Áö¿øÇÏ´Â °Í Áß¿¡´Â MySQL Cluster°¡ ÀÖÁö¸¸, ¾ÆÁ÷Àº ¸Þ¸ð¸® ±â¹Ý ¿£ÁøÀÎ NDB¸¸ Áö¿øÇϱ⠶§¹®¿¡ ¸Þ¸ð¸®ÀÇ Å©±â¿¡ Á¦¾àÀ» ¹Þ½À´Ï´Ù.
- DRDB: µð¹ÙÀ̽º ¼öÁØ¿¡¼ µð½ºÅ©¸¦ ºÐ»êÇÏ´Â DRDB¸¦ MySQL°ú ÇÔ²² »ç¿ëÇÕ´Ï´Ù. MySQL Replicationº¸´Ù failure¿¡ ¾ÈÀüÇÑ °ÍÀº ¾Æ´ÏÁö¸¸, sync°¡ ¾î±ß³ »óÅ´ ÃÖ¼Òȵ˴ϴÙ. ÇÏÁö¸¸, failover node (i.e. slave)´Â MySQL Äõ¸®¸¦ ó¸®ÇÒ ¼ö ¾ø´Ù´Â Å©³ªÅ« Á¦¾àÀÌ ÀÖ½À´Ï´Ù. ¹é¾÷ÀÇ ¿ëµµ·Î´Â ÀûÀýÇϸ®¶ó°í »ý°¢ÇÕ´Ï´Ù.