ϨϓϦέʔγϣϯΤϥʔ͔ΒࣗಈͰ෮چMySQL Casual Talks Vol.3 (2012-04-19)@glidenote124݄19༵
View Slide
ࣗݾհ• @glidenote(άϥΠυϊʔτ)• લా ষ / Akira Maeda• paperboy&co. ͷΠϯϑϥΤϯδχΞ• http://blog.glidenote.com/• ࣾҰͷλʔϛφϧڰɻԿͰCUIɻ• MySQLͷϨϕϧ˒ˑˑˑˑˑˑˑˑˑ• ϖύϘMySQL࢛ఱԦͷதͰ࠷ऑ124݄19༵
ૣຊʹ124݄19༵
͋Δͷग़དྷࣄ124݄19༵
εϨʔϒαʔόͷϨϓϦέʔγϣϯ͕Ұ੪ఀࢭMasterSlave 20ऑ…124݄19༵
෮چͷͨΊͷରԠͱௐࠪ1• ΤϥʔϩάͰάάͬͨΒͲ͏ΒMySQLͷόάʹىҼ͢Δࣄ• MySQLͷόʔδϣϯΞοϓͰΔΒ͍͠• SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;ΛԿճ͔ൃߦ124݄19༵
ͱΓ͋͑ͣ෮چɻ124݄19༵
ͦͷͷ༦ํ124݄19༵
·ͨεϨʔϒαʔόͷϨϓϦέʔγϣϯҰ੪ఀࢭMasterSlave 20ऑ…124݄19༵
෮چͷͨΊͷରԠͱௐࠪ2• ·ͨSET GLOBALSQL_SLAVE_SKIP_COUNTER=1; ΛԿճ͔ൃߦͯ͠ͱΓ͋͑ͣશ෮چ• Ͱোݕ͔Β෮چ·Ͱ࠷Ͱ10͘Β͍͔͔Δ(εϨʔϒαʔό20ऑ)• ͜ͷରԠํ๏·͍ͣ͠ɺslave-skip-errorsӡ༻ํͱͯ͠ར༻ͨ͘͠ͳ͍...124݄19༵
ͦ͜Ͱొ͢Δͷ͕124݄19༵
mk-slave-restart• ݴΘͣͱΕͨmaatkitͷ1πʔϧ• ಛఆͷΤϥʔΛແݶεΩοϓͯ͠ϨϓϦέʔγϣϯΛ࠶։ͯ͘͠ΕΔ• mk-slave-restart -uhoge -pxxxx --error-numbers 1100 --verbose124݄19༵
mk-slave-restartΛͬͯ...• SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;ͰͷରԠʹൺΔͱᴴ͔ʹૣ͍• Ͱ֤αʔόͰ1ͣͭ֬ೝ͠ͳ͕Β࣮ߦ͍ͯͨ͠ͷͰɺରԠૣ͘ͳ͚ͬͨͲखಈରԠมΘΒͳ͍• mk-slave-restartͷ࣮ߦΛࣗಈԽ͍ͨ͠!!124݄19༵
• IBMۘϩάࢹπʔϧ• PerlͰॻ͔Ε͍ͯΔ• εΫϦϓτຊମɺઃఆϑΝΠϧɺىಈεΫϦϓτͷ3ݸ͔Βߏ• ઃஔɺઃఆָ͕(swatchΑΓָͩͱࢥ͍·͢)logmon124݄19༵
ઃఆϑΝΠϧlogmon.confͷॻ͖ํ:/var/lib/mysql/err.log ←ࢹରͷϩά(Error_code: 1100) ←ࢹରͷจࣈྻmk-slave-restart -uhoge --error-numbers 1100 --verbose -pxxxx >> /var/lib/mysql/skip_query.log ←จࣈྻΛൃݟͨ͠ͱ͖࣮ߦ͢ΔίϚϯυ3ߦ͕جຊηοτࠓճͷઃఆྫ:ࢹରͷϩά(ࢹରͷจࣈྻ)จࣈྻΛൃݟͨ͠ͱ͖࣮ߦ͢ΔίϚϯυ(࣮ߦίϚϯυߦෳߦՄ)124݄19༵
logmonͰΤϥʔࢹ• ϨϓϦέʔγϣϯ͕ࢦఆΤϥʔͰࢭ·ͬͨΒɺmk-slave-restartࣗಈͰൃಈ• ࣮ӡ༻Ͱmk-slave-restartͷ࣮ߦ͚ͩͰͳ͘ɺࣾIRCɺϝʔϧͰͷ௨• logmon͕མͪͯͯಇ͔ͳ͔ͬͨ͜ͱ͕͋ΔͷͰࠓSupervisordͰσʔϞϯཧ• ผ݅Ͱ͕͢RAIDίϯτϩʔϥશจݕࡧͰར༻͍ͯͨ͠TrittonͷIndex͕յΕΔෆ۩߹logmonͰࢹͯ͠·͢124݄19༵
·ͱΊ• ϨϓϦέʔγϣϯΤϥʔʹmk-slave-restart• ϩάࢹʹlogmon• mk-slave-restart + logmonͰϨϓϦέʔγϣϯΤϥʔ͔Βࣗಈ෮چ124݄19༵
MySQLͷӡ༻ָΛ͠·͠ΐ͏124݄19༵
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠124݄19༵