±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚlinkedkeeper.com,±¾ÎÄÕë¶ÔMySQL
5.7°æ±¾½øÐзÖÎö£¬²¢ÇÒÒ»Æð̽¾¿ÁËmysqlÖ÷´ÓÊÇÈçºÎͬ²½µÄ¡£ |
|
¹ØÓÚmysqlÖ÷´Óͬ²½£¬ÏàÐÅ´ó¼Ò¶¼²»Ä°Éú£¬Ëæ×ÅϵͳӦÓ÷ÃÎÊÁ¿Öð½¥Ôö´ó£¬µ¥Ì¨Êý¾Ý¿â¶Áд·ÃÎÊѹÁ¦Ò²ËæÖ®Ôö´ó£¬µ±¶Áд·ÃÎÊ´ïµ½Ò»¶¨Æ¿¾±Ê±£¬½«Êý¾Ý¿âµÄ¶ÁдЧÂÊÖèȻϽµ£¬ÉõÖÁ²»¿ÉÓã»ÎªÁ˽â¾ö´ËÀàÎÊÌ⣬ͨ³£»á²ÉÓÃmysql¼¯Èº£¬µ±Ö÷¿âå´»úºó£¬¼¯Èº»á×Ô¶¯½«Ò»¸ö´Ó¿âÉý¼¶ÎªÖ÷¿â£¬¼ÌÐø¶ÔÍâÌṩ·þÎñ£»ÄÇôÖ÷¿âºÍ´Ó¿âÖ®¼äµÄÊý¾ÝÊÇÈçºÎͬ²½µÄÄØ£¿±¾ÎÄÕë¶ÔMySQL
5.7°æ±¾½øÐÐÏÂÃæµÄ·ÖÎö£¬ÏÂÃæËæ±ÊÕßÒ»Æð̽¾¿Ò»ÏÂmysqlÖ÷´ÓÊÇÈçºÎͬ²½µÄ¡£
MySQLÖ÷´Ó¸´ÖÆÔÀí
ΪÁ˼õÇáÖ÷¿âµÄѹÁ¦£¬Ó¦¸ÃÔÚϵͳӦÓòãÃæ×ö¶Áд·ÖÀ룬д²Ù×÷×ßÖ÷¿â£¬¶Á²Ù×÷×ߴӿ⣬ÏÂͼΪMySQL¹ÙÍø¸ø³öµÄÖ÷´Ó¸´ÖƵÄÔÀíͼ£¬´ÓͼÖпÉÒÔ¼òµ¥µÄÁ˽â¶Áд·ÖÀë¼°Ö÷´Óͬ²½µÄ¹ý³Ì£¬·ÖÉ¢ÁËÊý¾Ý¿âµÄ·ÃÎÊѹÁ¦£¬ÌáÉýÕû¸öϵͳµÄÐÔÄܺͿÉÓÃÐÔ£¬½µµÍÁË´ó·ÃÎÊÁ¿Òý·¢Êý¾Ý¿âå´»úµÄ¹ÊÕÏÂÊ¡£

binlog¼ò½é
MySQLÖ÷´Óͬ²½ÊÇ»ùÓÚbinlogÎļþÖ÷´Ó¸´ÖÆÊµÏÖ£¬ÎªÁ˸üºÃµÄÀí½âÖ÷´Óͬ²½¹ý³Ì£¬ÕâÀï¼òµ¥½éÉÜÒ»ÏÂbinlogÈÕÖ¾Îļþ¡£
binlogÈÕÖ¾ÓÃÓڼǼËùÓиüÐÂÁËÊý¾Ý»òÕßÒѾDZÔÚ¸üÐÂÁËÊý¾Ý£¨ÀýÈ磬ûÓÐÆ¥ÅäÈκÎÐеÄÒ»¸öDELETE£©µÄËùÓÐÓï¾ä¡£Óï¾äÒÔ¡°Ê¼þ¡±µÄÐÎʽ±£´æ£¬ËüÃèÊöÊý¾Ý¸ü¸Ä£¬ËüÊÇÒÔ¶þ½øÖƵÄÐÎʽ±£´æÔÚ´ÅÅÌÖС£ÎÒÃÇ¿ÉÒÔͨ¹ýmysqlÌṩµÄ²é¿´¹¤¾ßmysqlbinlog²é¿´ÎļþÖеÄÄÚÈÝ£¬ÀýÈç
mysqlbinlog mysql-bin.00001 | more£¬ÕâÀï×¢ÒâÒ»ÏÂbinlogÎļþµÄºó׺Ãû00001£¬binlogÎļþ´óСºÍ¸öÊý»á²»¶ÏµÄÔö¼Ó£¬µ±MySQLÍ£Ö¹»òÖØÆôʱ£¬»á²úÉúÒ»¸öеÄbinlogÎļþ£¬ºó׺Ãû»á°´ÐòºÅµÝÔö£¬ÀýÈçmysql-bin.00002¡¢mysql-bin.00003£¬²¢ÇÒµ±binlogÎļþ´óС³¬¹ý
max_binlog_sizeϵͳ±äÁ¿ÅäÖÃʱҲ»á²úÉúеÄbinlogÎļþ¡£
1. binlogÈÕÖ¾¸ñʽ
£¨1£©statement £º ¼Ç¼ÿһÌõ¸ü¸ÄÊý¾ÝµÄsql
Óŵ㣺binlogÎļþ½ÏС£¬½ÚÔ¼I/O£¬ÐÔÄܽϸߡ£
ȱµã£º²»ÊÇËùÓеÄÊý¾Ý¸ü¸Ä¶¼»áдÈëbinlogÎļþÖУ¬ÓÈÆäÊÇʹÓÃMySQLÖеÄÒ»Ð©ÌØÊ⺯Êý£¨ÈçLOAD_FILE()¡¢UUID()µÈ£©ºÍһЩ²»È·¶¨µÄÓï¾ä²Ù×÷£¬´Ó¶øµ¼ÖÂÖ÷´ÓÊý¾ÝÎÞ·¨¸´ÖƵÄÎÊÌâ¡£
£¨2£©row £º ²»¼Ç¼sql£¬Ö»¼Ç¼ÿÐÐÊý¾ÝµÄ¸ü¸Äϸ½Ú
Óŵ㣺ÏêϸµÄ¼Ç¼ÁËÿһÐÐÊý¾ÝµÄ¸ü¸Äϸ½Ú£¬ÕâÒ²Òâζ×Ų»»áÓÉÓÚʹÓÃÒ»Ð©ÌØÊ⺯Êý»òÆäËûÇé¿öµ¼Ö²»Äܸ´ÖƵÄÎÊÌâ¡£
ȱµã£ºÓÉÓÚrow¸ñʽ¼Ç¼ÁËÿһÐÐÊý¾ÝµÄ¸ü¸Äϸ½Ú£¬»á²úÉú´óÁ¿µÄbinlogÈÕÖ¾ÄÚÈÝ£¬ÐÔÄܲ»¼Ñ£¬²¢ÇÒ»áÔö´óÖ÷´Óͬ²½ÑÓ³Ù³öÏֵļ¸ÂÊ¡£
£¨3£©mixed£ºÒ»°ãµÄÓï¾äÐÞ¸ÄʹÓÃstatment¸ñʽ±£´æbinlog£¬ÈçһЩº¯Êý£¬statementÎÞ·¨Íê³ÉÖ÷´Ó¸´ÖƵIJÙ×÷£¬Ôò²ÉÓÃrow¸ñʽ±£´æbinlog£¬MySQL»á¸ù¾ÝÖ´ÐеÄÿһÌõ¾ßÌåµÄsqlÓï¾äÀ´Çø·Ö¶Ô´ý¼Ç¼µÄÈÕÖ¾ÐÎʽ£¬Ò²¾ÍÊÇÔÚStatementºÍRowÖ®¼äÑ¡ÔñÒ»ÖÖ¡£
2. binlogÈÕÖ¾ÄÚÈÝ
mysqlbinlogÃüÁî²é¿´µÄÄÚÈÝÈçÏ£º

¸ù¾ÝʼþÀàÐͲ鿴µÄbinlogÄÚÈÝ£º

3. binlogʼþÀàÐÍ
MySQL binlog¼Ç¼µÄËùÓвÙ×÷ʵ¼ÊÉ϶¼ÓжÔÓ¦µÄʼþÀàÐ͵쬯©ÈçSTATEMENT¸ñʽÖеÄDML²Ù×÷¶ÔÓ¦µÄÊÇQUERY_EVENTÀàÐÍ£¬ROW¸ñʽϵÄDML²Ù×÷¶ÔÓ¦µÄÊÇROWS_EVENTÀàÐÍ£¬Èç¹ûÏëÁ˽â¸ü¶àÇë²Î¿¼¹Ù·½Îĵµ£¬ÓйØbinlogÈÕÖ¾ÄÚÈݲ»ÔÚÕâÀï¹ý¶à׸Êö£¬¼òµ¥½éÉÜÒ»ÏÂÊÇΪÁ˸üºÃµÄÀí½âÖ÷´Ó¸´ÖƵÄϸ½Ú£¬ÏÂÃæÎÒÃǽøÈëÕýÌâ¡£
MySQLÖ÷´Ó¸´ÖÆÔÀí
mysqlÖ÷´Ó¸´ÖÆÐèÒªÈý¸öỊ̈߳¬master£¨binlog dump thread£©¡¢slave£¨I/O
thread ¡¢SQL thread£©¡£
master
£¨1£©binlog dumpỊ̈߳ºµ±Ö÷¿âÖÐÓÐÊý¾Ý¸üÐÂʱ£¬ÄÇôÖ÷¿â¾Í»á¸ù¾Ý°´ÕÕÉèÖõÄbinlog¸ñʽ£¬½«´Ë´Î¸üеÄʼþÀàÐÍдÈëµ½Ö÷¿âµÄbinlogÎļþÖУ¬´ËʱÖ÷¿â»á´´½¨log
dumpÏß³Ì֪ͨslaveÓÐÊý¾Ý¸üУ¬µ±I/OÏß³ÌÇëÇóÈÕÖ¾ÄÚÈÝʱ£¬»á½«´ËʱµÄbinlogÃû³ÆºÍµ±Ç°¸üеÄλÖÃͬʱ´«¸øslaveµÄI/OÏ̡߳£
slave
£¨2£©I/OỊ̈߳º¸ÃÏ̻߳áÁ¬½Óµ½master£¬Ïòlog dumpÏß³ÌÇëÇóÒ»·ÝÖ¸¶¨binlogÎļþλÖõĸ±±¾£¬²¢½«ÇëÇó»ØÀ´µÄbinlog´æµ½±¾µØµÄrelay
logÖУ¬relay logºÍbinlogÈÕÖ¾Ò»ÑùÒ²ÊǼǼÁËÊý¾Ý¸üеÄʼþ£¬ËüÒ²Êǰ´ÕÕµÝÔöºó׺ÃûµÄ·½Ê½£¬²úÉú¶à¸örelay
log£¨ host_name-relay-bin.000001£©Îļþ£¬slave»áʹÓÃÒ»¸öindexÎļþ£¨
host_name-relay-bin.index£©À´×·×Ùµ±Ç°ÕýÔÚʹÓõÄrelay logÎļþ¡£
£¨3£©SQLỊ̈߳º¸ÃÏ̼߳ì²âµ½relay logÓиüк󣬻á¶ÁÈ¡²¢ÔÚ±¾µØ×öredo²Ù×÷£¬½«·¢ÉúÔÚÖ÷¿âµÄʼþÔÚ±¾µØÖØÐÂÖ´ÐÐÒ»±é£¬À´±£Ö¤Ö÷´ÓÊý¾Ýͬ²½¡£´ËÍ⣬Èç¹ûÒ»¸örelay
logÎļþÖеÄÈ«²¿Ê¼þ¶¼Ö´ÐÐÍê±Ï£¬ÄÇôSQLÏ̻߳á×Ô¶¯½«¸Ãrelay log Îļþɾ³ýµô¡£
ÏÂÃæÊÇÕû¸ö¸´Öƹý³ÌµÄÔÀíͼ£º

Ö÷´Óͬ²½ÑÓ³Ù
mysqlµÄÖ÷´Ó¸´Öƶ¼Êǵ¥Ï̵߳IJÙ×÷£¬Ö÷¿â¶ÔËùÓÐDDLºÍDML²úÉúbinlog£¬binlogÊÇ˳Ðòд£¬ËùÒÔЧÂʺܸߣ¬slaveµÄI/OÏ̵߳½Ö÷¿âÈ¡ÈÕÖ¾£¬Ð§ÂÊÒ²±È½Ï¸ß£¬µ«ÊÇ£¬slaveµÄSQLÏ߳̽«Ö÷¿âµÄDDLºÍDML²Ù×÷ÔÚslaveʵʩ¡£DMLºÍDDLµÄIO²Ù×÷ÊÇËæ¼´µÄ£¬²»ÊÇ˳ÐòµÄ£¬³É±¾¸ßºÜ¶à£¬»¹¿ÉÄÜ´æÔÚslaveÉÏµÄÆäËû²éѯ²úÉúlockÕùÓõÄÇé¿ö£¬ÓÉÓÚSQLÒ²Êǵ¥Ï̵߳ģ¬ËùÒÔÒ»¸öDDL¿¨×¡ÁË£¬ÐèÒªÖ´Ðкܳ¤Ò»¶Îʼþ£¬ºóÐøµÄDDLÏ̻߳áµÈ´ýÕâ¸öDDLÖ´ÐÐÍê±ÏÖ®ºó²ÅÖ´ÐУ¬Õâ¾Íµ¼ÖÂÁËÑÓʱ¡£µ±Ö÷¿âµÄTPS²¢·¢½Ï¸ßʱ£¬²úÉúµÄDDLÊýÁ¿³¬¹ýslaveÒ»¸ösqlÏß³ÌËùÄܳÐÊܵķ¶Î§£¬ÑÓʱ¾Í²úÉúÁË£¬³ý´ËÖ®Í⣬»¹ÓпÉÄÜÓëslaveµÄ´óÐÍqueryÓï¾ä²úÉúÁËËøµÈ´ýµ¼Ö¡£
ÓÉÓÚÖ÷´Óͬ²½ÑÓ³ÙÊǿ͹۴æÔڵģ¬ÎÒÃÇÖ»ÄÜ´ÓÎÒÃÇ×Ô¼ºµÄ¼Ü¹¹ÉϽøÐÐÉè¼Æ£¬ ¾¡Á¿ÈÃÖ÷¿âµÄDDL¿ìËÙÖ´ÐС£ÏÂÃæÁгö¼¸ÖÖ³£¼ûµÄ½â¾ö·½°¸£º
1.ÒµÎñµÄ³Ö¾Ã»¯²ãµÄʵÏÖ²ÉÓ÷ֿâ¼Ü¹¹£¬mysql·þÎñ¿ÉƽÐÐÀ©Õ¹£¬·ÖɢѹÁ¦£»
2.·þÎñµÄ»ù´¡¼Ü¹¹ÔÚÒµÎñºÍmysqlÖ®¼ä¼ÓÈëmemcache»òÕßRedisµÄcache²ã¡£½µµÍmysqlµÄ¶ÁѹÁ¦£»
3.ʹÓñÈÖ÷¿â¸üºÃµÄÓ²¼þÉ豸×÷Ϊslave£»
4.sync_binlogÔÚslave¶ËÉèÖÃΪ0£»
5.¨Clogs-slave-updates ´Ó·þÎñÆ÷´ÓÖ÷·þÎñÆ÷½ÓÊÕµ½µÄ¸üв»¼ÇÈëËüµÄ¶þ½øÖÆÈÕÖ¾£»
6.½ûÓÃslaveµÄbinlog¡£ |