±à¼ÍƼö: |
±¾ÎÄÀ´Ô´51cto£¬Ö÷Òª½éÉÜÁ˶öÁËô
DBA ÔËάƽ̨£¬MHA ×Ô¶¯»¯¹ÜÀí£¬Êý¾Ý¿â¶à»îµÄ¼Ü¹¹µÈÏà¹ØÄÚÈÝ¡£ |
|
´Óʱ¼äÖáÉÏ¿´£¬ÎÒÃÇµÄ DBA ÔËάƽ̨ÿÄê»áÓÐÒ»¸ö±È½Ï´óµÄ½ø²½£¬´ÓÈËÈâ¡ú¹¤¾ß»¯¡úƽ̨»¯¡ú×ÔÖú»¯£¬ÎÒÃÇÖ»ÓÃÁËÁ½Äê°ëʱ¼äÍê³ÉÈ«²¿µü´ú¡£
ÆäÖÐÆ½Ì¨»¯&×ÔÖú»¯+Êý¾Ý¿â¶à»î¸ÄÔ죬ÎÒÃÇÓÃÁË 8 ¸öÔµÄʱ¼äÒ»¿ÚÆøÍê³ÉÈ«²¿¿ª·¢¼°¸ÄÔ칤×÷¡£

ÔÚÍê³Éƽ̨»¯¸ÄÔìµÄͬʱ£¬ÎÒÃÇÊý¾Ý¿â¼Ü¹¹Ò²´Ó´«Í³µÄÖ÷´Ó¼Ü¹¹·¢Õ¹µ½ÒìµØ¶à»î¼Ü¹¹£¬Õâ¶Ô DBA µÄÌôÕ½ÊǾ޴óµÄ£¬µ«ÕâÒ²ÊÇÆ½Ì¨±ØÐëÄܹ»½â¾öµÄ¡£
ÒòΪ´«Í³µÄÊý¾Ý¿â¹ÜÀí·½Ê½ÔÚµ±Ç°ÕâÖּܹ¹ÏÂÒÀ¿¿ DBA ÊÖ¹¤»òÕß½èÖú¼òµ¥µÄ¹¤¾ßÊÇÎÞ·¨Ó¦¶Ô¶à»î¼Ü¹¹ +
´ó¹æÄ£¹ÜÀí´øÀ´µÄ¸´ÔÓÐÔ£¬Òò´Ëƽ̨»¯ÏԵ÷dz£ÖØÒª¡£
Ëæ×ÅÆ½Ì¨»¯µÄÍÆ½ø£¬DBA Ö°ÄܽÇɫҲÔÚ·¢Éú±ä»¯£¬¹ýÈ¥ DBA ÔÚÔËάºÍά»¤ÉÏÏûºÄ£¬ÏÖÔÚ DBA ¸ü¼ÓרעҵÎñ×ö¼ÛÖµÊä³ö¡£
ÎÒ¾õµÃ DBA ³¤ÆÚÔÚÔËά²ãÃæ¹ý¶à»¨·Ñʱ¼ä²»¶ÏÐÞ²¹¸÷ÖÖ²ãÃæÂ©È±£¬ÆäʵÊDz»½¡¿µµÄ£¬ËäȻÿÌìºÜ浫ÊÇÐÂÎÊÌâÒÀ¾É»áºÜ¶à¡£
¶öÁËô DBA ÔËάƽ̨¸ÅÀÀ

ÎÒÃǵÄÊý¾Ý¿âƽ̨Ö÷Ì幦ÄܸÅÀÀÈçÏ£º
DB-Agent£ºÊý¾Ý²É¼¯ + ½ø³Ì¹ÜÀí + Ô¶³Ì½Å±¾ & Linux ÃüÁîµ÷Óà + ÓëÆ½Ì¨ñîºÏµÄ½Ó¿Ú¡£
MM-OST£ºÎÞÉË DDL ϵͳ¸ù¾Ý GH-OST Ô´Âë¸ÄÔìʵÏÖ¶à»î³¡¾°ÏµÄÊý¾Ý¿â·¢²¼¡£
Tinker£ºGo ÖØÐ´ÁË Linux Crontab µÄÂß¼Ö§³Öµ½Ãë¼¶ + ¹ÜÀí½Ó¿ÚÓëÆ½Ì¨ÕûºÏʵÏÖµ÷¶È¼¯Èº¹ÜÀíÈÕ³£ÈÎÎñµ÷¶È¡£
Checksum£º¶à»ú·¿Êý¾ÝÒ»ÖÂÐÔ¼ì²é¡£
SqlReview£ºGo ʵÏÖµÄÀàËÆ¿ªÔ´µÄ Inception SQL ÉóºË¹¤¾ß²¢×öÁ˹¦ÄÜÉϵÄÔöÇ¿¡£
Luna£ºÓÅ»¯ºóµÄ±¨¾¯ÏµÍ³(´ó¹æÄ£ÊµÀýÏÂÈçºÎ¼õÉÙ±¨¾¯ÇÒ²»Â©¹Ø¼ü±¨¾¯)¡£
VDBA£º±¨¾¯×Ô¶¯´¦Àíϵͳ£¬´úÌæ DBA Íê³É¶ÔÏßÉÏ DB µÄðÑÌ&±¨¾¯µÄ´¦Àí¡£
ÎÒ²»É󤽲һЩ·½·¨ÂÛ£¬ÏÂÃæ¸ø´ó¼Ò½éÉܾßÌåµãµÄÄÚÈÝ£¬Èôó¼ÒÓиö¸üÇå³þµÄÁ˽⡣
ʵʱ¼à¿Ø&¿ìËÙÅÅÕÏ

Õâ¶ÔÓÚ DBA ÊǷdz£³£¼ûµÄÊÂÇ飬һ°ã³öÎÊÌâ»òÕß½Óµ½±¨¾¯£¬Í¨³£¶¼ÒªµÇ¼µ½·þÎñÆ÷£¬Ò»Í¨ÃüÁîÇÃÏÂÀ´¿ÉÄÜ»¨µÄʱ¼ä×îÉÙÁ½·ÖÖÓ£¬È»ºóµÃ³öÒ»¸öÓÐÂý
SQL »òÕ߯äËûµÄʲôÔÒò¡£
Õâ¸öÕï¶Ï¹ý³ÌÍêÈ«¿ÉÒÔ±»×Ô¶¯»¯µô£¬ÈÕ³£´¦ÀíÎÊÌâµÄºËÐÄÔÔòÊÇ¡°¿ì¡±£¨ÎÒÃǸ߷åÆÚÏßÉϹÊÕÏÒ»·ÖÖÓËðʧ¼¸Íòµ¥£©¡£
¶øÆ½Ì¨±ØÐëÄÜÌṩÕâÑùµÄÄÜÁ¦£¬³öÎÊÌâʱ¾¡Á¿¼õÉÙ DBA ˼¿¼µÄʱ¼äÖ±½Ó¸ø³öÏÖÏó + ÔÒòËõ¶Ì¾ö²ßʱ¼ä£¨ÉõÖÁ±ØÒªÊ±ÏµÍ³¿ÉÒÔ×Ô¶¯´¦ÀíµôÓÐЩÎÊÌâ¶¼²»±Ø
DBA ²ÎÓ룩¡£

»ùÓÚÎÒÃÇµÄ¼à¿Ø´óÅÌ£¬DBA ¿ÉÒÔÇåÎúµÄÖªµÀµ±Ç°È«·þËùÓÐʵÀýÊÇ·ñÓÐÒì³££¬ÄÄЩÓÐÒì³£¼°ÊÇʲôÀàÐ͵ÄÒì³£»òðÑ̶¼»áÇåÎú³ÊÏÖ¡£¼à¿Ø´óÅ̽«
DBA ÈÕ³£¹ÜÀí¹ý³ÌÖÐËùÓеÄÃüÁ¶¼ÕûºÏµ½Ò»Æð¡£
DBA Ö»ÐèÒª¼òµ¥µÄµãµã°´Å¥£¬ÏµÍ³¾Í»á×Ô¶¯Ö´ÐÐËùÓÐÃüÁî²¢×öºÃ SQL Ö´Ðмƻ®·ÖÎö¡¢Ëø·ÖÎö¡¢SQL
Ö´ÐÐʱ¼ä·Ö²¼¡¢ÀúÊ·Ç÷ÊÆ·ÖÎö£¬Êý¾Ý¿âÀúÊ· Processlist ¿ìÕղ鿴µÈ³£¼û²Ù×÷¡£
ËäÈ»ÕâЩ¹¦ÄÜ¿´ËƼòµ¥£¬µ«ÊÇÈ´·Ç³£ÊµÓã¬Ìá¸ßÁË DBA ¹ÊÕ϶¨Î»µÄЧÂÊ¡£
±¨¾¯´¦Àí×Ô¶¯»¯

±¨¾¯´¦Àí×Ô¶¯»¯Ä¿Ç°Ö÷Òª°üÀ¨£º
¿Õ¼äÎÊÌâ×Ô¶¯´¦Àí
δÌá½»ÊÂÎï´¦Àí
³¤²éѯ×Ô¶¯ Kill
CPU / Á¬½ÓÊý¾Ý / thread runing ¹ý¶à·ÖÎö¼°´¦Àí
¸´ÖÆÎÞËðÐÞ¸´(1032£¬1062)
¹ýÈ¥ÔÚ´¦Àí¸´ÖÆÊý¾Ý²»Ò»ÖÂÒ쳣ʱͬÐж¼ÊÇ Skip µô£¬µ«ÊÇÕâÑùȱÏݺܶàͬʱ»áÁôÏÂÊý¾Ý²»Ò»ÖµÄÒþ»¼¡£
ĿǰÎÒÃDzÉÓõÄÊǽâÎö Binlog µÄ·½Ê½À´×öµ½¾«È·ÐÞ¸´£¬±ÜÃâÁË´«Í³µÄ Skip ·½Ê½µÄȱÏÝ¡£
ÓÐÈË¿ÉÄÜ»á˵ĿǰÉçÇøÓкܶ࿪ԴµÄ¹¤¾ßÄܽâ¾öÄãÇ°ÃæÌáµ½µÄ±¨¾¯ÎÊÌ⣬Ϊɶ·ÇÒª×Ô¼ºÐ´Ò»¸öÄØ£¿
±ÈÈç PT ¹¤¾ßÄܰïÄã´¦Àí£¬Auto Kill һЩÊý¾Ý¿âÓÐÎÊÌâµÄ SQL£¬Ò²ÄܰïÄãÌø¹ý¸´ÖƵĴíÎ󣬻òÕß
Github ÉÏÒ²ÓпªÔ´µÄʵÏÖÄÜ×öµ½ÎÞËðÐÞ¸´¸´ÖÆÎÊÌ⣿
ÕâÀïµÄ¹ØÓÚÖØ¸´ÔìÂÖµÄÎÊÌ⣬ÎÒ¾õµÃÊǶԴý¿ªÔ´Ì¬¶ÈµÄÎÊÌ⣬¿ªÔ´¹ÌÈ»Äܽâ¾öһЩÎÊÌ⣬µ«ÊDz»Í¬µÄ³¡¾°¶ÔÓ¦²»Í¬µÄ¿ªÔ´¹¤¾ß¡£
µ±Äã°ÑÕâЩÂÖ×ÓÆ´´Õµ½Ò»ÆðʱÄÑÒÔÐγÉÒ»¸öÓлúÕûÌå¡£
ÓÈÆäÊÇÄãÔÚ½øÐÐÆ½Ì¨»¯½¨Éèʱ±ØÐëÒª¿¼ÂÇÇå³þÕâ¸öÎÊÌ⣬·ñÔò´¿´âµÄ¿ªÔ´¶ÑÆö³öÀ´µÄϵͳÊÇÄÑÒÔά»¤µÄ²»¿É¿¿µÄ£¬¶ÔÓÚ¿ªÔ´ÎÒÃÇ¿ÉÒÔÓÃÆä˼ÏëÔì×Ô¼ººÏÊʵÄÂÖ×Ó¡£
MHA ×Ô¶¯»¯¹ÜÀí

ÔÚ 8.0 ֮ǰ¾ø´ó²¿·Ö¹«Ë¾¸ß¿ÉÓÃʵÏÖ»¹ÊÇ»ùÓÚ MHA¡£MHA µÄʵÏÖ²»¿É±ÜÃâÒª½â¾ö²¿ÊðµÄÎÊÌâ¡£
×î³õÎÒÃÇÊÇ×öÒ»¸ö²¿Êð½Å±¾ÔÚÌø°å»úÉÏ£¬MySQL °²×°Ê±¾Í´òͨÓëÌø°å»úµÄ»¥Ðʤ×÷£¬È»ºóÓɸýű¾ÔÚÀ´´òͨ¼¯Èº½Úµã¼äµÄ»¥Ðʤ×÷£¬È»ºóÔÚÒ»¸ö
Slave ÉÏÆô¶¯ MHA ¹ÜÀí½ø³Ì¡£
»òÕßÊǽ«¸Ã¹ÜÀí½ø³Ì¹Ì¶¨ÔÚ¼¯ÈºÍâÃæµÄijһ¸ö»òÕß¶à¸ö·þÎñÆ÷Éϼ¯Öв¿Êð&¼à¿Ø£¬È»¶øÕâÑù»áÓÐʲôÎÊÌâÄØ£¿

ÕâÑù»áÓÐÈçϼ¸µãÎÊÌ⣺
ÖØ¶ÈÒÀÀµ SSH¡£
´î½¨¹ý³Ì¸´ÔÓ¡£
Manager ¹ÜÀí½ÚµãÍâÒ絽һ̨»ò¶ą̀»úÆ÷ºóÓ°Ïì¿É¿¿ÐÔµÄÒòËØÔö¶à¡£
ά»¤¸´ÔÓ£¬ÅäÖÃÓÐЧÐÔ´æÒÉ»áÒò´ËÔì³ÉÎȶ¨ÐÔ·çÏÕ¡£
ÓëÆ½Ì¨ÕûºÏ¹ýÓÚ¸´ÔÓ£¬Æ½Ì¨Èç¹ûÒª¹ÜÀí¼à¿Ø Manager ½ÚµãÐèÒª½èÖú SSH »òµ¥¶ÀʵÏÖÒ»¸ö Agent¡£
ÕâÖּܹ¹¹ÜÀí¼¸Ê®Ì×»òÕßÉϰÙÌ×¼¯ÈºÊ±»¹ÄÜÃãǿӦ¸¶¡£µ±ÉÏǧÌ×ʱ£¬¹ÜÀí¾ÍºÜ¸´ÔÓ£¬ÕûÌåºÜ´àÈõ£¬³öÎÊÌâºóά»¤¹¤×÷Á¿´ó¡£
ÎÒÃÇÔÚ×ö MHA µÄ·½°¸Ê±£¬×öÁ˳ä·Öµ÷²é¼°ÂÛÖ¤£¬×îÖÕûÓÐÑ¡ÔñÕâÖÖ·½Ê½¡£

×îÖÕÎÒÃǾö¶¨µ¥¶À¸ãÒ»Ì×¹ÜÀí·½Ê½³öÀ´£¬´óÖÂÂß¼ÊÇÒÀÍÐ Agent À´×öµ½£¬»ù±¾ÔÀíÈçÏ¡£
ÿ¸ö DB-Agent É϶¼¶ÀÁ¢ÊµÏÖÈçϽӿڣº
»ñÈ¡¼¯ÈºÍØÆË½á¹¹&£º(self *MHA)GetDBTopology()
Éú³ÉÅäÖÃÎļþ£º(self *MHA)BuildMHAConfig()
½Úµã»¥ÐÅ£º(self *MHA)WriteRsaPubilcKey()
Æô¶¯£º(self *MHA)StartMHA()
MHA ½ø³Ìʵʱ¼à¿Ø£º(self *MHA)MHAProcessMonitor()
¶¨Ê±ÅäÖÃÎļþÓëÍØÆË½á¹¹Æ¥ÅäѲ²é£º(self *MHA)InspectMHAConfigIsOK()
¹Ø±Õ£º(self *MHA)StopMHA()
Çл»£º(self *MHA)SwitchMHA()
ƽ̨°´ÕÕÒ»¶¨Ë³ÐòÒÀ´Îµ÷ÓÃÉÏÊö½Ó¿ÚÀ´Íê³ÉÕû¸ö MHA µÄ´Ó´î½¨µ½¹ÜÀíµÄÈ«²¿¹ý³Ì¡£
Õû¸ö¹ý³ÌÍêÈ«ÓÉÆ½Ì¨À´Íê³É£¬¼«´óµÄ¼õÉÙÁË DBA ά»¤ MHA µÄ³É±¾¡£¹ýÈ¥ DBA ÒªÅäÖûòÕß MHA
Çл»ºóµÄά»¤Ê±¼äÔÚ 2-10 ·ÖÖÓ×óÓÒ£¬ÏÖÔÚ¿ØÖÆÔÚ 3 ÃëÒÔÄÚ¡£
»ùÓÚ Agent µÄ¹ÜÀí¸ü¼ÓÇáÁ¿¼¶£¬Ò²±ÜÃâÁË Manager ½ÚµãÍâÒç´øÀ´µÄ¸÷ÖÖÎÊÌ⣬Ҳ±ÜÃâÁË´«Í³µÄ²¿Êð·½Ê½Éϵĸ´ÔÓÐÔ£¬Î¬»¤Áã³É±¾£¬ÓëÆ½Ì¨ÕûºÏ·Ç³£¼òµ¥¡£
ƽ̨ÔÚ½«ÉÏÊö½Ó¿Úµ÷Ó÷â×°³É¶ÀÁ¢µÄ API ºó¿É¹©ÆäËû×Ô¶¯»¯Æ½Ì¨µ÷Óã¬Õ⽫ΪÏÂÒ»²½µÄÍêÈ«ÎÞÈ˹ÜÀíÌṩ֧³Ö¡£
×ÊÔ´³Ø&Ò»¼ü°²×°

¹ýÈ¥ÒµÎñÀ©ÈÝÐèÒª 100 ̨»úÆ÷£¬Ìá½»¸ø Base ÐèÇóÁ½Ììºó¸øÄãÒ»¸ö EXCEL »òÕßÒ»¸ö Wiki
Ò³Ãæ¡£
ÎÒÃÇÄõ½»úÆ÷Ö®ºóȥдһЩ½Å±¾£¬Í¨¹ýһЩ¹¤¾ß»òÕß×Ô¶¯»¯Æ½Ì¨Ë¢×ÊÔ´»·¾³¼ì²éºÍ°²×°½Å±¾£¬µ«ÊÇÿ¸öÈË¿ÉÄÜ×ö·¨²»Ò»Ñù£¬×ö³öÀ´¶«Î÷Î廨°ËÃÅ£¬·Ç³£²»Í³Ò»¡£
±ðÈËά»¤µÄʱºò¾õµÃûÓÐÎÊÌ⣬µ±»»Äãά»¤Ê±ºò¾õµÃºÜÆæ¹Ö£¬ÎªÊ²Ã´ÕâÑù×ö£¿²»¹»ÕûÆë»®Ò»£¬±ê×¼»¯ÍÆÐв»ÊÇÌ«ºÃ¡£
ÏÖÔÚÎÒÃÇµÄ DBA »ù±¾Éϲ»ÐèÒª¹ØÐÄÕâЩ£¬DBA Ö»ÐèÒª¿´ÎÒÃÇ×ÊÔ´³ØÊÇ·ñÓпÕÏлúÆ÷£¬Èç¹û×ÊÔ´²»×ãÖ»Òª¸ºÔðÉêÇë×ÊÔ´¼´¿É£¬ÆäËû¹¤×÷»ù±¾¶¼¿ÉÒÔÓÉ
Agent ×Ô¶¯Íê³É¡£
Ò»¼üÀ©ÈÝÓëÇ¨ÒÆ

ÎÒÃÇ 2015 Äêµ½ 2016 ÄêÏȺó¾ÀúÁËÇ¨ÒÆµ½ CDB£¬È»ºóÓÖÇ¨ÒÆµ½ RDS£¬×îºóÓÖ×ö×Ô¼ºµÄÊý¾Ý¿âÔÖ±¸ÏµÍ³¡£
ÕâÆÚ¼äÇ¨ÒÆµÄ¼¯ÈºÊý³¬¹ý 3000+ Ì×£¬Æ½¾ùÿÌ×¼¯ÈºÇ¨ÒÆÁ½µ½Èý´Î£¬Õâô¶àÇ¨ÒÆÁ¿£¬Í¨¹ýÈ˹¤ºÜÄÑÍê³ÉµÄ¡£
ÒÔÔÖ±¸ÎªÀý£¬×öÔÖ±¸Ê±ºò¹«Ë¾¸øÎÒÃÇ DBA µÄÍŶÓÇ¨ÒÆÊ±¼äÊÇÁ½ÖÜÖ®ÄÚ£¬ÄÇʱºò½«½ü 300 ¶àÌ×¼¯ÈºÈ«²¿Ç¨ÒƵ½ÔÖ±¸»ú·¿ÀïÃæÈ¥£¬Êµ¼ÊÉÏÎÒÃÇÖ»ÓÃÁËÁ½Ììʱ¼ä¡£
µ±Ê±ÎÒÃÇÒ»¸öÈËÓÃÁ˲»µ½Ò»¸öСʱµÄʱ¼äдÁËÒ»¸ö´Ó¼¯Èº´î½¨µ½µ÷ÓÃÊý¾Ý¿âÇ¨ÒÆ½Ó¿ÚµÄ½Å±¾¿ìËÙµÄÀÆðÈ«²¿Ç¨ÒÆÈÎÎñ¡£
×Ô¶¯Ç¨ÒÆ»áÒÀÍÐÎÒÃǵ÷¶È¼¯ÈºÀ´Íê³ÉÈ«²¿µÄÇ¨ÒÆ¹¤×÷¡£¶ÔÓÚÈÕ³£µÄ×Ô¶¯À©ÈÝÇ¨ÒÆ£¬DBA Ö»ÐèÒªÒ»¼ü¼´¿ÉÍê³ÉÈ«²¿Ç¨Òƹý³Ì¡£
ÕâÀïÎÒÃÇ˼¿¼Ò»ÏÂÓÐʲôÊֶοÉÒÔÍêÈ«±ÜÃâ DBA À´µãÕâһϰ´Å¥ÄØ£¿ÕâÀïÎÒ¾õµÃ¶ÔÓÚÆ½Ì¨»¯µÄ¹ý³ÌÆäʵҲÊÇËùÓвÙ×÷
API »¯µÄÒ»¸ö¹ý³Ì¡£
¶ÔÓÚÕâµã£¬°´Å¥µÄ¶¯×÷±¾Éí¾ÍÊǵ÷ÓÃÒ»¸ö API£¬¼ÙÉèÎÒÃÇÏÖÔÚÓÐÒ»Ì׸ü¼Ó¸ß¶È×Ô¶¯»¯µÄϵͳ£¨ÓеĴó¹«Ë¾³ÆÎªÖÇÄÜϵͳ^_^£©ÄÜ×Ô¶¯ÅжϳöÈÝÁ¿²»×ãʱ×Ô¶¯µ÷ÓøÃ
API ²»¾ÍÍêÈ«×Ô¶¯À©ÈÝÁËÂð£¿
DBA ¶¼²»ÐèҪȥÈ˹¤´¥·¢£¬ËäÈ»ÕâÊÇССµÄÒ»¸ö²Ù×÷Ò²Äܱ»Ê¡ÂÔ(ÄÇô DBA ºóÃæ¸ÃºÎÈ¥ºÎ´ÓÄØ£¿)¡£
ÎÒÃÇÏÖÔÚ¿ÉÒÔ˵ÒÀ¿¿Æ½Ì¨»ù±¾ÉÏÍê³ÉÁ˾ø´ó²¿·Ö±ê×¼»¯¡¢¹æ·¶»¯µÄ¹¤×÷£¬ÈκÎÒ»¸ö DBA ֻҪͨ¹ýƽ̨À´Íê³ÉÈÕ³£±ØÒªµÄ¹¤×÷£¬×ö³öÀ´µÄ¶«Î÷¶¼ÊÇÕûÆë»®Ò»µÄ£¬ÍêÈ«±ÜÃâÈ˵ÄÒòËØµ¼ÖµIJîÒì¡£
Îó²Ù×÷ÉÁ»Ø

2018 ÄêÖÁ½ñ£¬ÎÒÃÇÒѾ×öÁ˲¶à 4 ´ÎÏßÉÏʧÎó²Ù×÷£¬ÎÒÃǶ¼ÔںܶÌʱ¼äÄÚ°ïÓû§×öµ½¿ìËٻعö¡£
ĿǰÉçÇøÓÐºÜ¶à¹ØÓڻعöµÄ½â¾ö·½°¸£¬µ«Êdzä·Öµ÷ÑÐÖ®ºóÎÒ»¹ÊǾö¶¨×Ô¼ºÔìÂÖ×Ó£¨ÕâÀïÓֻص½Ç°ÃæÌáµ½µÄ¹ØÓÚ¿ªÔ´¼°ÔìÂÖ×ÓµÄÎÊÌ⣩¡£
ÕâÀï¼òµ¥²ûÊöÔÒò£º¿ªÔ´µÄÓŵãÊÇͨÓÃÐÔ¡¢ÆÕÊÊÐԱȽÏÇ¿£¬µ«Êdz¡¾°»¯µÄ¶¨ÖÆÒ»°ã±È½ÏÂé·³¡£
ĿǰµÄ¿ªÔ´¹¤¾ß¶¼ÊÇ»ùÓÚÃüÁîÐÐÀ´Íê³É±ØÒªµÄ²Ù×÷£¬µ±ÕæµÄÏßÉÏÐèÒª½ô¼±»Ø¹öʱ»¹ÒªµÇ¼µ½·þÎñÆ÷È»ºóÔÙÊäÈëÒ»¶ÑµÄ²ÎÊý½âÎö£¬Õâ²»·ûºÏÎÒ¶ÔÆ½Ì¨»¯µÄÒªÇó¡£
¼ÈÈ»ÊÇÆ½Ì¨»¯£¬ÕâһϵÁеIJÙ×÷ÆðÂë±ØÐëÊÇÄÜÔÚ½çÃæÀïÃæÑ¡Ò»Ñ¡¡¢µãÒ»µã¾ÍÄÜÍê³ÉµÄ¡£
Ò²¾ÍÊÇ˵ʹÓÃÒª×ã¹»¼òµ¥£¬ÓÈÆäÕâÀà½ô¼±²Ù×÷»¨·ÑµÄʱ¼äÒª×ã¹»¶Ì£¬Ã»±ØÒªµ±×ÅÒ»¶Ñ¿ª·¢µÄÃæ°ÑÃüÁîÐÐÇõÄÔôÁïÀ´Ð㼡Èâ¡£
ÎÒÃǵij¡¾°¸´ÔÓ¾ÙÀý˵Ã÷£ºÎÒÃÇÓÐÒ»Ì×¼¯Èºµ¥±í·ÖƬÊÇ 1024 Ƭ£¬×ܹ²·ÖÁË 32 Ì×¼¯Èº£¬ÓÐÒ»Ì쿪·¢Í»È»ÕÒÀ´ËµÓв¿·ÖÊý¾Ý±»Îó²Ù×÷ÁË£¬Äã¸ÃÈçºÎ½øÐд¦Àí£¿
ÕâÀï±íÊDZ» Sharding µÄ£¬¿ª·¢¿ÉÄÜÊDz»ÖªµÀÕâÅúÊý¾ÝÂäÔÚÄĸö Sharding ƬÀïÃæ¡£
ËùÒÔÄã±ØÐë½âÎöÈ«²¿µÄ 32 ¸ö½ÚµãÉ쵀 Binlog£¬ ÕâʱÄãͨ¹ý¿ªÔ´µÄ½Å±¾¿Ôßê¿ÔßêÆðÁË 32 ¸ö½ø³ÌÈ»ºóÄãµÄ
CPU ±¬ÁË£¬Íø¿¨±¬ÁË¡¡ÕâÀï·ÖƬ½âÎöʵ¼ÊÉÏÔÚ 32 ¸ö½ø³ÌÊDz»Ðеġ£
Èç¹û½âÎö½Å±¾²»Ö§³Ö¶Ô½âÎöµÄ rowsEvent.Table ±íÃûµÄÕýÔòÆ¥ÅäµÄ»°£¬¿ÖÅÂÒªÆð 1024
¸ö½ø³Ì¡¡
¿¼Âǵ½ÉÏÊö³¡¾°ÓкÏÊÊ×Ô¼º³¡¾°µÄ½âÎö¹¤¾ßÊǷdz£±ØÒªµÄ¡£ÕâÀïÎÒÓà Go À´ÊµÏÖ²ÉÓÃÁË github.com/siddontang/go-mysql/replication
½âÎöÄ£¿é¡£
ʵÏÖºóµÄ½âÎö¹¤¾ßÊÇÒ»¸ö·þÎñ»¯µÄ×é¼þ£¬¿ÉÒÔ¶à½Úµã²¿ÊðÓ¦¶ÔÉÏÊö Sharding µÄ½âÎö³¡¾°£¬±»·þÎñ»¯ºó¿ÉÒÔ±»Æ½Ì¨Ö±½Óµ÷Óá£
µ±ÕæµÄ³öÏÖʧÎó²Ù×÷ʱ£¬DBA ²Ù×÷ʱҲ²»Óþ¾ÐÄÊÖ¶¶¡¡ËùÒÔÔìÿ¸öÂÖ×Ó¶¼ÓÐËüµÄÀíÓɶø²»½ö½öÊǰ®ºÃ¡£
ÈÎÎñµ÷¶È£¦¹éµµ

ÎÒÃǵĵ÷¶È·þÎñÆäʵÊÇÓà Go ÖØÐ´ÁË Linux Crontab µÄÂß¼²¢ÇÒÖ§³Öµ½ÁËÃë¼¶¡£
ͬʱҲΪÁË·½±ã¹ÜÀí¼ÓÁËһЩ¹ÜÀíÄ£¿éʵÏÖ·þÎñ»¯£¬Ö÷Òª»¹ÊÇ·½±ãƽ̨µ÷Óã¨Ò²ÊDZÜÃâ DBA ÊÖ¹¤È¥ÅäÖÃ
Crontab £©¡£
ƽ̨¶Ôµ÷¶È½Úµã½øÐÐÕûºÏʵÏÖÒ»¸öÂß¼Éϵĵ÷¶È¼¯Èº£¨ºóÐø»á¸ÄÔì³ÉÕæÕýÒâÒåÉϵĵ÷¶È¼¯Èº¡£Æäʵ¸ÄÔ췽ʽҲºÜ¼òµ¥£¬Ö»ÒªÔÚµ÷¶È½ÚµãÀïÃæ¼ÓÉϽڵã×Ô¶¯×¢²áÈ»ºó¼ÓÒ»¸ö¼òµ¥µÄÈÎÎñ·Ö·¢Æ÷ʵÏÖ¸ºÔؾùºâ¼´¿É£©¡£
ͬʱ¶ÔÈÕÖ¾¹¦ÄÜ×öÁËÔöÇ¿£¬Í¨¹ýµ÷¶È¿ÉÒÔ×Ô¶¯µÄ°ÑÖ´Ðйý³ÌÖÐÊä³öµÄÈÕÖ¾¼Ç¼ÏÂÀ´£¬·½±ãÈÕºó×·ËÝÔÒò¡£
Ò²Ö§³Ö²¶»ñ²¢¼Ç¼µ÷¶È½Å±¾ Exit Code£¬·½±ã¶ÔÓÚÓÐÐ©ÌØÊâ½Å±¾²¢·ÇÖ»Óгɹ¦ or ʧ°ÜÁ½ÖÖ״̬µÄ¼Ç¼¡£
¾Ù¸öÀý×Ó£º±ÈÈçÒ»¸ö½Å±¾Ö´Ðйý³ÌÖпÉÄÜ»áÓкܶàÖÖ Panic µÄ¿ÉÄÜ£¬µ«ÊÇÈç¹û°ÑÕâЩ Panic µÄÔÒò¶¼¹é½áΪ½Å±¾Ö´ÐÐÒì³£²¢
exit(-1) [ϵͳĬÈϵÄÍ˳öÂë]£¬ÕâÑùËÆºõÒ²ÊÇ¿ÉÒԵġ£
µ«ÊÇÕâÑù DBA ÔÚ¼ì²é×Ô¼ºµÄÈÎÎñ״̬ʱ£¬·¢ÏÖÒ쳣ʱ²»ÄÜÖ±½ÓµÄ¶¨Î»´íÎó¶øÊÇҪȥ·¾ßÌåµÄÖ´ÐдíÎóÈÕÖ¾£¬ÏԵò»¹»¿ì½Ý(ÕâÒ²ÊÇÓû§ÌåÑéµÄµã)¡£
Òò´Ë DBA Ö»ÐèÒªÔÚÆ½Ì¨ÀïÃæ¶¨ÒåºÃ´íÎó´úÂë¶ÔÕÕ±í¼´¿ÉÔÚ Painc ʱ²¶»ñÒì³££¬È»ºó Exit(exit_code)
¾Í¿ÉÒÔ£¬µ± DBA Ѳ²é×Ô¼ºµÄÈÎÎñʱÄÜÇåÎúµÄÖªµÀ´íÎóÔÒò¡£
SQLReview

×î³õÎÒÃÇµÄ SQL ÉóºËÓÉ¿ªÔ´µÄ Inception ʵÏÖ£¬µ«ÊÇÓÉÓÚÎÒÃÇÐèÒª¼ÓÈë¸ü¶àУÑ鹿Ôò£¬ËùÒÔÐèÒª×öһЩ¶¨ÖÆÐ޸ġ£
È»¶øÍŶÓÄÚ¶ÓÓѲ»Ì«Á˽â C£¬Òò´ËºÜ¶àÇé¿öÏ¿ª·¢Ìá½»·¢²¼ SQL ¹¤µ¥ºó£¬¶¼ÊÇÓÉÎÒÃÇµÄ DBA ÔÙÀ´ÈËÈâÉóºËÒ»±éµÄ¡£
ÎÒÃÇÏÖÔÚÆ½¾ùÿÌì 100+ µÄ DDL£¬DBA ¸ù±¾ÉóºË²»¹ýÀ´¡£¼´Ê¹ÉóºËµ½ÁË£¬»¹ÊÇ»á©ºÜ¶à¹æÔò£¬È˹¤ÊDz»Äܱ£Ö¤Ò»¶¨¿É¿¿µÄ¡£
ËùÒÔ×ö×Ô¼ºµÄÉóºËϵͳÊǺܱØÒªµÄ£¬µ«ÊÇÒª¶ÀÁ¢Ð´Ò»¸ö sql-parser Ä£¿éÄѶȻ¹ÊǷdz£´óµÄ¡£
ÔÚ³ä·Öµ÷ÑÐÁË Python&Go µÄ¿ªÔ´ÊµÏÖºó×îÖÕÑ¡ÔñÁË TiDB µÄ½âÎöÄ£¿é£¬ÓÚÊÇÏîÄ¿ºÜ¿ì¾ÍÂ䵨ÁË¡£
ÔÚÍêÈ«¸²¸Ç Inception µÄ¹æÔòºóÒ²×öÁËÏà¹ØÀ©Õ¹£¬Ò²¾ÍÊǼÓÈëÎÒÃÇ×Ô¶¨ÒåµÄ¹æÔò¡£
À©Õ¹Ë÷ÒýµÄÏà¹ØÐ£Ñ飺
ÈßÓàË÷ÒýµÄУÑé¡£(Èç ix_a(a)£¬ix_ab(a£¬b))
Ë÷ÒýÖÐö¾ÙÀàÐ͵ÄУÑé¡£
×éºÏË÷ÒýÖв»Äܰüº¬Ö÷¼ü»òÕßΨһË÷Òý¡£
½¨±íʱ±ØÐë°üº¬×ÔÔö id µÄÖ÷¼ü¡£
ÖØ¸´Ë÷ÒýµÄУÑé¡£(ÈçÌäЦ½Ô·ÇµÄix_a(a)£¬ix_aa(a)Ç󿪷¢µÄÐÄÀíÒõÓ°Ãæ»ý£¿)
×éºÏË÷ÒýÁв»Äܳ¬¹ý 3 ¸ö¡£
×éºÏË÷ÒýÁÐʱ¼äµÈ¿ÉÄÜÉæ¼°·¶Î§²éѯµÄÁÐ(ÀàÐÍ)±ØÐë·ÅÔÚ×îºóһλ¡£(Èçix_created_time_userid(created_time£¬userid)ÕâÑùµÄË÷ÒýÒâÒå´óÂð£¿)
Ë÷Òý·ºÀÄÀ¹½Ø¡£(ºÞ²»µÃÿ¸ö×ֶζ¼½¨Á¢Ò»¸öË÷Òý¡¡)
Varchar (N>128)À¹½Ø»òÕßÌáʾ¡£(¾¯Ì裡¿ª·¢¿ÉÄÜҪд like ÁË¡¡)
Ë÷ÒýÃüÃû¹æ·¶¼ì²é¡£(¿ª·¢È¡µÄË÷ÒýÃû³ÆÎ廨°ËÃÅ£¬ÉõÖÁÓÐÓõÄÁÓÖÊ orm ¿ò¼ÜÉú³ÉÒ»¸ö uuid µÄË÷ÒýÃû³Æ£¬µ±
DBA ÔÚ½øÐÐÖ´ÐÐ explain ʱ¿´µ½Õâ¸öºÜÍ·ÌÛ¸ù±¾¿´²»³öµ½µ×ʹÓÃÁËʲôË÷Òý£¬ÍùÍù»¹Òª¶àÖ´ÐÐÒ»´Î
show¡¡)
·çÏÕʶ±ðÀ¹½Ø»òÕß·ÅÐУº
ɾË÷Òý»á¸ù¾ÝÔªÊý¾ÝÀ´ÅжÏÊÇ·ñ±í»òÕßË÷ÒýÊÇ·ñÔÚʹÓᣣ¨ÕâÒÀÍдóÁ¿µÄÔªÊý¾ÝÊÕ¼¯&·ÖÎö£¬¹ýÈ¥ DBA
¿´¼ûɾ³ý²Ù×÷ºÜÍ·ÌÛÒª¸÷ÖÖÑéÖ¤£¬×îÖÕÔÚ²Ù×÷ʱ»¹Òª¼¯ÈºÄڻҶȲÙ×÷£©
½ûֹɾÁвÙ×÷¡£
Modify ²Ù×÷Ëðʧ½ø¶È¼ì²é¡£(Èç text->varchar,varchar(100)->varchar(10)
µÈ¶¼ÊǽûÖ¹µÄ)
Modify ²Ù×÷¶ªÊ§ÊôÐÔ¼ì²é¡£(¸ÃÎÊÌâºÜÒþ±Î¿ÉÄÜÓÐÌ쿪·¢Ëµ default Öµ¶ªÊ§ÁË£¬ÄǶà°ëÊÇij´Î
DDL ʱ Modify Óï¾äûÓдøÉÏÔ×Ö¶ÎÊôÐÔµ¼Öµģ¬µ±ÕâÒý·¢¹ÊÕÏʱ¿Ï¶¨ÓÐÈË»áÖ¸Ôð DBA ΪɶÄãûÉóºËµ½£¿MMP......)
½ûÖ¹¿ç¿â²Ù×÷¡£(·ÀÖ¹¿ª·¢Í¨¹ý create table Notmydb.table À´ÒâÍâµÄ¸ø±ðÈË´´½¨±í)
½ûÖ¹Ò»ÇÐ Truncate£¬Drop ²Ù×÷¡£
ÄÚ½¨¹æ·¶¼ì²é£º
´ó×Ö¶ÎʹÓÃ¹æ·¶Ô¼Êø¡£(±ÈÈçÒ»¸ö±íÀïÃæ³¬¹ýÒ»¶¨±ÈÀýµÄ Varchar£¬°üº¬ longtext µÈ´óÎı¾ÀàÐÍ)
DB£¬±í£¬Ë÷ÒýÃüÃû¹æ·¶Ô¼Êø¼ì²é¡£
¶à»î±ØÒªµÄ×ֶμ°ÊôÐÔ¼ì²é¡£
ÀúʷУÑé½á¹ûÊý¾Ý³Áµí£º
ͨ¹ýÊý¾Ý·ÖÎö׼ȷµÄÖªµÀÄÄЩ²úÑлòÕß¿ª·¢ÔÚÉÏÊö·½Ãæ·¸´í×î¶à¡£(DBA ¸ú¿ª·¢µÄ¹ØÏµÍùÍùÒ²ÊǶ·ÖǶ·ÓµĹØÏµÄã¶®µÃ¡¡)
ÕâÀï²»µÃ²»ËµµÄÊǹýÈ¥ÎÒÃÇΪÁË·ÀÖ¹¿ª·¢Î¥·´ÉÏÊö¹æÔò£¬³ýÁËÈËÈâÉóºËÍ⻹¶Ô¿ª·¢È¥Åàѵµ«ÊÇÕâÍùÍù¶¼Ã»ÓÐÓ㬸÷¸µÄ´íÎó»¹Êǻ᲻¶ÏµÄ·¸¡£
ËùÒÔÎÒÃÇÏÖÔÚ»ù±¾²»ÔÚÈ¥¸ãʲôÅàѵÁË£¬ÍêÈ«ÓÉϵͳ×Ô¶¯À´Íê³ÉÉóºË¡£
ÕâÀïÎÒһֱǿµ÷µÄÊÇÈκαê×¼»¯/¹æ·¶»¯¶¼ÊDZØÐëÄܹ»Ð´½ø´úÂëÀïµÄ£¬·ñÔòʵʩÆðÀ´±ØÈ»ÓÐȱ©¡£
¶à»îÏµķ¢²¼ÏµÍ³

Êý¾Ý¿â¶à»îµÄ¼Ü¹¹´óÖÂÊÇÕâÑù£ºM?DRC?M¡£ÕâÀï DRC ÊÇÎÒÃǵĶà»ú·¿Êýͬ²½¹¤¾ß£¬ÕâÀï¿ÉÒÔ°ÑÊý¾Ý¿â¶à»îÀí½â³ÉË«
Master ϵͳ£¬Ö»ÊÇÓà D ´úÌæÁËË« Master ϵÄÔÉú¸´ÖÆ¡£
ÕâÖּܹ¹ÏÂ¶Ô DBA µÄά»¤ÌôÕ½»¹ÊǷdz£´óµÄ£¬Ê±¼ä¹ØÏµÖ»·ÖÏí¹ØÓÚÊý¾Ý¿â·¢²¼µÄÏà¹ØÄÚÈÝ£¬ÕâÒ²ÊÇ×îÖØÒªµÄÒ»¿é¡£
˵µ½Êý¾Ý¿â·¢²¼»ù±¾ÉϾÍÊÇÔÚ˵ DDL ¶Ô°É£¬Ò»Ö±ÒÔÀ´ DDL ¶Ô¿ª·¢À´Ëµ¶¼ÊǷdz£Í·Ì۵ģ¬DBA ÍùÍù»áÑ¡Ôñ
PT ¹¤¾ßÀ´Íê³É DDL ²Ù×÷¡£
µ«ÊÇÊܵ½ PT ÊÇ»ùÓÚ´¥·¢Æ÷ʵÏֵģ¬Ó°Ïì DDL ÆÚ¼ä»á²úÉúËøµÈ´ýÏÖÏó£¬Õâ»áÔì³ÉÒµÎñÉϵÄÓ°Ï죬¹ýÈ¥ÎÒÃÇÒ²ÔÚÕâÉÏÃæ³Ô¹ýºÜ¶à´Î¿÷¡£
Alter ͨ¹ýʲô·½Ê½À´½øÐУ¿ÓÐÈçϼ¸¸ö·½Ê½£º
ÔÉú DDL ¶à»ú·¿²¢ÐÐÖ´ÐУºDRC ²»Ö§³Ö£¬»ú·¿¼äÑÓ³Ù²»¿É¿Ø£¬»ú·¿ÄÚÑÓ³Ù¾Þ´ó¡£
PT-OSC ¶à»ú·¿²¢ÐÐÖ´ÐУºRow ģʽÏ´ó±íµÄ DDL »á²úÉú´óÁ¿µÄ Binlog£¬IDC ¼äµÄÍøÂçÆ¿¾±Ôì³ÉÈ«¾ÖÐÔÓ°Ïì¡£
PT ¹¤¾ßÔÚ²»Í¬»ú·¿¼ä×îÖÕµÄ Rename ½×¶Îʱ¼äµã²»Í¬£¬Ôì³É»ú·¿¼äÊý¾Ý½á¹¹²»Ò»Öµ¼Ö DRC
¸´ÖÆÊ§°Ü£¬×îÖÕµ¼Ö²»¿É¿ØµÄÊý¾ÝÑÓ³Ù¡£
»ùÓÚ´¥·¢Æ÷µÄʵÏÖ»á²úÉú¶îÍâµÄËø£¬¶ÔÒµÎñÓ°ÏìÃ÷ÏÔ£»»ùÓÚ PT Ô´Âë¸ÄÔìÀ§ÄÑÒ²ÄÑÒÔÓëÆ½Ì¨ÕûºÏ(3P ÓïÑÔֻʣÏÂÁË
Python¡¡)¡£
Gh-OST ¶à»ú·¿²¢ÐÐÖ´ÐÐ(»ùÓÚ Go ʵÏÖ)£ºÔöÁ¿Êý¾Ý»ùÓÚ Binlog ½âÎöʵÏÖ±ÜÃâ´¥·¢Æ÷µÄÓ°Ï죻»ùÓÚ
Go ʵÏÖΪ¸ÄÔìÌṩ¿ÉÄÜ¡£

¹ØÓÚ GH-OST ÎÒ²»´òËã¶à½²£¬´ó¼Ò¿ÉÒÔÈ¥ Github ÉÏ¿´×÷Õß¶ÔʵÏÖÔÀíµÄ˵Ã÷£¬ÕâÀﻹÊǼòÒªÌáһϴóÖ¹¤×÷Á÷³Ì£º
´´½¨Öмä±íÁÙʱ±í¡£
¶Ô¸ÃÁÙʱ±í½øÐÐ DDL¡£
ÔÚ Master »òÕß Slave ÉÏ×¢²á£¬Slave ½ÓÊÕ Binlog ²¢½âÎö¶ÔÓ¦±íµÄ Events
ʼþ¡£
Apply Events µ½ÁÙʱ±í¡£
´ÓÔ±í Copy Êý¾Ýµ½ÁÙʱ±í¡£
Cut-Over£¨ÎÒÃǵĸÄÔìµã´ÓÕâÀ↑ʼ£©Ï൱ÓÚ PT µÄ Rename ½×¶Î¡£


ÎÒÃÇ×öÁËÒ»¸öе÷Æ÷£¬Ã¿¸ö GH-OST ÔÚ DDL ¹ý³ÌÖж¼Éϱ¨×Ô¼ºµÄÖ´Ðнø¶È£¬Í¬Ê±ÎÒÃÇÔÚ Cut-Over
ǰ¼ÓÁËÒ»²ãÀ¹½Ø¡£
±ØÐëµÈ´ý¶à¸ö GH-OST ¶¼Íê³ÉÊý¾Ý Copy ºó£¬¶à¸ö GH-OST ½Úµã²Å»áͬʱ½øÈë Cut-Over
½×¶Î¡£
ÕâÑù¾Í±£Ö¤Á˶à»ú·¿Í¬²½ Rename ½ø¶øÀ´±ÜÃâÑӳٵIJúÉú(ÊÂʵÉÏÎÒÃÇ»ú·¿¼äµÄÑÓ³Ù¶¼¿ØÖÆÔÚÃë¼¶)¡£ÕâÀï´ó¼Ò¿ÉÄÜ»áÓÐÒÉÎÊÖ±½ÓÔÚÒ»¸ö»ú·¿×ö²»ÐÐÂ𣿿ÉÒÔÒÀ¿¿
DRC ͬ²½°¡£¿
Ê×ÏÈ DRC ²»Ö§³Ö DDL ²Ù×÷£¬ÕâÑù¾Í¾ö¶¨ÁËû·¨Í¨¹ý DRC ͬ²½·½Ê½À´½øÐУ¬Æä´Î»ú·¿¼ä´ø¿íÓÐÏÞ
DDL ÆÚ¼ä²úÉú´óÁ¿ Binlog »áÔì³É´ø¿í´òÂúµÄÎÊÌâ¡£
ÎÒÃÇÔÚ½øÐÐË«»ú·¿Í¬²½ DDL ʱ£¬ÎªÁË·ÀÖ¹ DRC Ó¦ÓÃÁË GH-OST ²úÉúµÄ Events£¬DRC
»áÖ÷¶¯¶ªÆú GH-OST ²úÉúµÄ Binlog ¾ßÌåÊǸù¾Ý TableName
ÃüÃû¹æÔòÀ´Çø·Ö¡£
¶Ô GH-OST µÄ¸ÄÔ컹°üº¬Ìí¼Ó¶à»ú·¿¸ºÔؾùºâ¹¦ÄÜ£¬ÓÉÓÚ DB ÊǶà»ú·¿²¿ÊðµÄ£¬ÄãµÄ GH-OST
¹¤¾ß¿Ï¶¨²»Äܲ¿ÊðÔÚÒ»¸ö»ú·¿Àï(½âÎö Binlog ËÙ¶ÈÌ«Âý£¬Copy Êý¾Ý¹ý³Ì·Ç³£ÂýÖ÷ÒªÊÇÏûºÄÔÚÍøÂçÉϵÄÑÓʱÁË)¡£
µ«ÊǶà»ú·¿²¿ÊðÒ²»¹ÊDz»¹»µÄ£¬»¹µÃÊÇÿ¸ö»ú·¿¶¼²¿Êð¼¸Ì× GH-OST ϵͳ¡£
ÒòΪµ±¿ª·¢Í¬Ê± DDL µÄÁ¿±È½Ï´óʱ£¬µ¥Ì¨ GH-OST ϵͳ»áÒòΪҪ½âÎöµÄ Binlog Á¿·Ç³£´óµ¼ÖÂ
CPU¡¢Íø¿¨Á÷Á¿·Ç³£¸ß£¬Ó°ÏìÐÔÄÜ(¸úÇ°ÃæÌáµ½µÄÉÁ»Ø¹¦ÄÜÊÇͬһ¸öµÀÀí)¡£
¸ã¶¨·¢²¼ÏµÍ³ºó£¬DBA ÔÙÒ²²»ÓÃ¿à±ÆµÄÖµ°à¸ã·¢²¼ÁË£¬Æð³õÎÒÃǸãÁËÒ»¸ö×Ô¶¯»¯Ö´ÐÐϵͳ£¬Ã¿Ììϵͳ»á×Ô¶¯Íê³É¾ø´ó¶àÊýµÄ¹¤µ¥·¢²¼¹¤×÷¡£ºóÀ´ÎÒÃÇÍêÈ«½»¸ø¿ª·¢À´Ö´ÐС£
ÏÖÔÚ´Ó¿ª·¢ÉêÇë·¢²¼µ½×îÖÕ·¢²¼£¬ÍêÈ«ÓÉ¿ª·¢×ÔÖúÍê³É£¬×ÔÖúÂÊÆ½¾ùÔÚ 95% ×óÓÒ£¬¼«ÉÙÓÐ DBA ¸ÉÔ¤µÄÇé¿ö¡£
Ëæ×ÅÊý¾Ý¿âµÄ²»¶Ï½ø²½ÓëÍêÉÆÉõÖÁ¿ªÊ¼Íù SelfDrive ÉÏ·¢Õ¹¼ÓÖ®ÕâÁ½Äê DevOps£¬AIOps
µÄ¿ìËÙ·¢Õ¹¡£
Ò²ÐíÁô¸ø´«Í³ÔËά DBA µÄʱ¼äÕæµÄ²»¶àÁË(²»ÊÇÎÒÔڹĴµÏàÐÅ´ó¼ÒÒ²ÄܸÐÊܵĵ½)£¬ÎÒÏë³ýÁËʱ¿ÌµÄΣ»ú¸Ð
+ »ý¼«Óµ±§±ä»¯ÍâûÓÐÆäËû½Ý¾¶ÁË¡£ |