<!DOCTYPE html>
<html lang="en">
  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# 2490221586: http://ogp.me/ns/fb/2490221586#">
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" />
    <meta name="include_mode" content="async">

    <!-- SL:start:notranslate -->
    <title>イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション</title>
    <meta name="description" content="2016/02/20 第2回 MySQL・PostgreSQLユーザーグループ（MyNA・JPUG）合同DB勉強会 in 東京">
    <!-- SL:end:notranslate -->

    <meta name="robots" content="index">
    <meta id='globalTrackingUrl' content="https://www.linkedin.com/li/track">
      
  <!-- SL:start:notranslate -->
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="x-dns-prefetch-control" content="on">
  <meta name="thumbnail" content="http://cdn.slidesharecdn.com/ss_thumbnails/mysql-160220062031-thumbnail.jpg?cb=1455949285" />
  <!-- SL:end:notranslate -->

    <link rel="shortcut icon" href="http://public.slidesharecdn.com/b/favicon.ico?d8e2a4ed15">
    <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.slideshare.net/rss/latest" />
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="SlideShare Search">

    <link href="http://public.slidesharecdn.com/b/ss_foundation/stylesheets/app_critical.css?770ef086df" media="screen" rel="stylesheet" type="text/css" />
    <!--[if IE 9]><link href="http://public.slidesharecdn.com/b/ss_foundation/stylesheets/ie9_nav_bar_fix.css?8fb8af5274" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
    <link rel="alternate" hreflang="en" href="http://www.slideshare.net/yoku0825/mysql-58490400"/>
<link rel="alternate" hreflang="es" href="http://es.slideshare.net/yoku0825/mysql-58490400"/>
<link rel="alternate" hreflang="fr" href="http://fr.slideshare.net/yoku0825/mysql-58490400"/>
<link rel="alternate" hreflang="de" href="http://de.slideshare.net/yoku0825/mysql-58490400"/>
<link rel="alternate" hreflang="pt" href="http://pt.slideshare.net/yoku0825/mysql-58490400"/>
<link rel="alternate" hreflang="x-default" href= "http://www.slideshare.net/yoku0825/mysql-58490400"/>
    <script type="text/javascript">
//<![CDATA[
var smtId = "ab5bb963d";
var smtDefaultStyles = false;
var smtRedirect = true;
var smtProt = (("https:" == document.location.protocol) ? "https://" : "http://");

var smtPreRender = function(data) {
  for (i in data) {
    if (data[i].code === "en-us") {
      data[i].name = "English";
    }
  }
};

var smtRedirectMapper = function(locale, sites) {
  if (/^es/i.test(locale)){ //disable redirect to spanish site
    return null;
  }
  if (locale in sites) {
    return sites[locale];
  }
  if (/^fr/i.test(locale)) {
    return sites['fr-fr'] || null;
  }
  if (/^de/i.test(locale)) {
    return sites['de-de'] || null;
  }
  return null;
};

var smtElmt = document.createElement('script');
smtElmt.type = "text/javascript";
smtElmt.async = true;
smtElmt.src = smtProt + "cdn01.smartling.com/ls/"+ smtId +".js";
script = document.getElementsByTagName("script")[0];
script.parentNode.insertBefore(smtElmt, script);

//]]>
</script>

      <meta content="authenticity_token" name="csrf-param" />
<meta content="3ScdD094GlLujnO5ptmlvy8GYCI7qeFU5gkRSC2JZWY=" name="csrf-token" />

      <meta content="index" name="robots" />

  <link href="http://public.slidesharecdn.com/b/ss_foundation/stylesheets/slideview_critical.css?390616d5d7" media="screen" rel="stylesheet" type="text/css" />

    

<link href="http://public.slidesharecdn.com/b/stylesheets/ssplayer/combined_presentation.css?e186032a14" media="screen" rel="stylesheet" type="text/css" />



    <link rel="dns-prefetch" href="//www.slideshare.net">
    <link rel="dns-prefetch" href="//public.slidesharecdn.com">
    <link rel="dns-prefetch" href="//image.slidesharecdn.com">
    <link rel="dns-prefetch" href="//cdn.slidesharecdn.com">
      <link rel="dns-prefetch" href="//cdn01.smartling.com">
    <link rel="dns-prefetch" href="//www.linkedin.com">

    <script type='text/javascript'>
      // Inlining Modernizr
      window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.8.2",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["&#173;",'<style id="s',r,'">',a,"</style>"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=s.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=r[a[p]];return b||(b={},q++,a[p]=q,r[q]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():o.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||n.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function i(a){a||(a=b);var d=e(a);return!s.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||h(a,d),a}var j,k,l="3.7.0",m=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,o=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",q=0,r={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var s={elements:m.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:l,shivCSS:m.shivCSS!==!1,supportsUnknownElements:k,shivMethods:m.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=s,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document);

      // GA Segmentation
      window._gaq = window._gaq || []; _gaq.push(['_setAccount', 'UA-2330466-1']);_gaq.push(['_setDomainName', '.slideshare.net']);_gaq.push(['_addIgnoredRef', 'slideshare.net']);_gaq.push(['_setCustomVar', 1, 'member_type', 'LOGGEDOUT', 1]);
        _gaq.push(['_trackPageview']);

      // Comscore
      var _comscore = _comscore || [];
      _comscore.push({ c1: "2", c2: "6402952" });

      // Slideshare object
      var slideshare_object = {
        user: {"id":null,"is_test_user":false,"show_li_connect_cta":false,"login":"guest","has_uploads":null,"name":null,"fb_userid":null,"is_pro":"false","li_tracking_url":"https://www.linkedin.com/li/track","userGroup":"non-member","su":false,"is_li_connected":false,"has_privacy_enabled":null,"loggedin":false,"is_valid_fbuser":false},
        timer: { start: (new Date()).getTime(), end: '', execTime: '' },
        top_nav: { get_url: "/top_nav"},
        dev: false,
        init: [],
        feature_flag: [],
        is_mobile: "",
        deploy_environment: "production",
        rum_pagekey: "desktop_slideview_loggedout",
        is_ssl: false
      };
    </script>

    <script id="page-json" type="text/javascript"><!--
 var sso_redirect_uri = "https://www.linkedin.com/uas/oauth2/authorization?bypass_dialog=true\u0026client_id=y4wa9oe4c6nu\u0026redirect_uri=https%3A%2F%2Fwww.slideshare.net%2Fsso%2Fredirect\u0026response_type=code\u0026scope=\u0026state=fadce513841d0225b78e9691716a4e"; 
//--></script>

    <meta content="http://public.slidesharecdn.com/b/images/artdeco/icons.svg?43e81fd2ef" name="ss-svg-icons" />

    <script src="http://public.slidesharecdn.com/b/ss_foundation/combined_experiments.js?efae7406ef" type="text/javascript"></script>

    

      <link rel="dns-prefetch" href="//js.bizographics.com">
  <script id="adQueue" type="text/javascript"><!--
 if(!slideshare_object.delayedLIAd){ slideshare_object._adQueue = []; } 
//--></script>
  <script type="text/javascript" id="ga-init">
  // <![CDATA[
    // Setting custom variable [slot = 3, scope = 3(page level)] for tracking source (related, search etc) of pageview
    window._gaq.push(['_setCustomVar', 3, 'source', 'not_set', 3]);
    window._gaq.push(['_trackEvent', 'bigfoot_slideview', 'pageload', slideshare_object.gam_cat_name, undefined, true]);

  // ]]>
    <!--
 slideshare_object.deploy_environment = 'production'; 
//-->
  </script>
    <link href="http://www.slideshare.net/yoku0825/mysql-58490400" rel="canonical" />
  <link title="Slideshow json oEmbed Profile" type="application/json+oembed" href="http://www.slideshare.net/api/oembed/2?format=json&amp;url=http://www.slideshare.net/yoku0825/mysql-58490400" rel="alternate" />
  <link title="Slideshow xml oEmbed Profile" type="text/xml+oembed" href="http://www.slideshare.net/api/oembed/2?format=xml&amp;url=http://www.slideshare.net/yoku0825/mysql-58490400" rel="alternate" />
  <link media="handheld" href="http://www.slideshare.net/mobile/yoku0825/mysql-58490400" rel="alternate" />

    <link href="android-app://net.slideshare.mobile/slideshare-app/ss/58490400" rel="alternate" />
    <link href="ios-app://917418728/slideshare-app/ss/58490400" rel="alternate" />
  <meta name="apple-itunes-app" content="app-id=917418728, affiliate-data=ct=smart_banner&amp;pt=10746, app-argument=slideshare-app://ss/58490400"/>
  <link rel="manifest" href="/manifest.json"/>


  <!-- fb open graph meta tags -->
    <meta content="2490221586" class="fb_og_meta" property="fb:app_id" name="fb_app_id" />
    <meta content="slideshare:presentation" class="fb_og_meta" property="og:type" name="og_type" />
      <meta content="http://www.slideshare.net/yoku0825/mysql-58490400" class="fb_og_meta" property="og:url" name="og_url" />
    <meta content="http://cdn.slidesharecdn.com/ss_thumbnails/mysql-160220062031-thumbnail-4.jpg?cb=1455949285" class="fb_og_meta" property="og:image" name="og_image" />
    <!-- SL:start:notranslate -->
    <meta content="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション" class="fb_og_meta" property="og:title" name="og_title" />
    <meta content="2016/02/20 第2回 MySQL・PostgreSQLユーザーグループ（MyNA・JPUG）合同DB勉強会 in 東京" class="fb_og_meta" property="og:description" name="og_description" />
    <!-- SL:end:notranslate -->
    <meta content="2016-02-20T06:20:31Z" class="fb_og_meta" property="slideshare:published" name="slideshow_published_time" />
    <meta content="http://www.slideshare.net/yoku0825" class="fb_og_meta" property="slideshare:author" name="slideshow_author" />
    <meta content="898" class="fb_og_meta" property="slideshare:view_count" name="slideshow_view_count" />
    <meta content="0" class="fb_og_meta" property="slideshare:embed_count" name="slideshow_embed_count" />
    <meta content="0" class="fb_og_meta" property="slideshare:comment_count" name="slideshow_comment_count" />
    <meta content="5" class="fb_og_meta" property="slideshare:download_count" name="slideshow_download_count" />
    <meta content="2016-02-20 06:20:31 UTC" class="fb_og_meta" property="slideshare:created_at" name="slideshow_created_at" />
    <meta content="2016-02-20 06:21:25 UTC" class="fb_og_meta" property="slideshare:updated_at" name="slideshow_updated_at" />
    <meta content="" class="fb_og_meta" property="slideshare:featured_on" name="slideshow_featured_on" />
    <meta content="4" class="fb_og_meta" property="slideshare:favorites_count" name="slideshow_favorites_count" />
    <meta content="Technology" class="fb_og_meta" property="slideshare:category" name="slideshow_category" />

  <!-- SL:start:notranslate -->
    <meta name="twitter:card" value="player" />
    <meta name="twitter:site" value="@slideshare" />
    <meta class="twitter_player" value="https://www.slideshare.net/slideshow/embed_code/key/GsV4Z3O6m7f3eJ" name="twitter:player" />
    <meta name="twitter:player:width" value="342" />
    <meta name="twitter:player:height" value="291" />
    <meta class="twitter_title" value="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション" name="twitter:title" />
    <meta class="twitter_image" value="https://cdn.slidesharecdn.com/ss_thumbnails/mysql-160220062031-thumbnail-4.jpg?cb=1455949285" name="twitter:image" />
    <meta name="twitter:app:name:googleplay" content="SlideShare Android"/>
    <meta name="twitter:app:id:googleplay" content="net.slideshare.mobile"/>
    <meta name="twitter:app:url:googleplay" content="http://www.slideshare.net/yoku0825/mysql-58490400" />
    <meta name="twitter:app:name:iphone" content="SlideShare iOS" />
    <meta name="twitter:app:id:iphone" content="917418728" />
    <meta name="twitter:app:url:iphone" content="slideshare-app://ss/58490400" />
    <meta name="twitter:app:name:ipad" content="SlideShare iOS" />
    <meta name="twitter:app:id:ipad" content="917418728" />
    <meta name="twitter:app:url:ipad" content="slideshare-app://ss/58490400" />

  <meta property="al:android:url" content="slideshare-app://ss/58490400" />
  <meta property="al:android:app_name" content="SlideShare Android" />
  <meta property="al:android:package" content="net.slideshare.mobile" />
  <meta property="al:ios:url" content="slideshare-app://ss/58490400" />
  <meta property="al:ios:app_store_id" content="917418728" />
  <meta property="al:ios:app_name" content="SlideShare iOS" />
  <!-- SL:end:notranslate -->

  </head>

  <body id="pagekey-slideshare_desktop_slideview_loggedout" class=" ">



      <div id="main-nav" class="contain-to-grid fixed">
        <div class="icon-bar four-up hide-for-medium-up icon-bar-custom">
          <a class="item" href="/" aria-labelledby="#home">
            <i class="icon-slideshare-logo"></i>
            <label id="home">SlideShare</label>
          </a>
          <a class="item" href="/explore" aria-labelledby="#explore">
            <i class="fa fa-compass"></i>
            <label id="explore">Explore</label>
          </a>
          <a class="item j-open-mobile-search" aria-labelledby="#search">
            <i class="fa fa-search"></i>
            <label id="search">Search</label>
          </a>
            <a class="item" class="void_fancybox void_redirect_link" href="https://www.slideshare.net/login" aria-labelledby="#you">
              <i class="fa fa-user"></i>
              <label id="you">You</label>
            </a>
        </div>


        <nav class="top-bar visible-for-medium-up" data-topbar>
          <ul class="title-area">
            <li class="name">
              <a href="/">
                <img id="main-navbar-logo" alt="LinkedIn SlideShare" src="http://public.slidesharecdn.com/b/images/logo/linkedin-ss/SS_Logo_White_Large.png?6d1f7a78a6">
              </a>
            </li>
          </ul>

          <section class="top-bar-section">
            <ul class="right upload-create button-group">
                <li class="has-form upload-create">
                  <a href="/upload" class="button radius secondary">Upload</a>
                </li>

                <li>
                  <a id="login" class="void_fancybox void_redirect_link" href="https://www.slideshare.net/login">Login</a>
                </li>
                <li>
                  <a id="signup" href="https://www.slideshare.net/signup" class="void_fancybox void_redirect_link" title="Signup now for a SlideShare account">Signup</a>
                </li>
            </ul>

            <ul class="left">
              <li class="divider"></li>
              <li id="nav-search" class="has-form">
                <form id="nav-search-form" method="get" action="/search/slideshow">
                  <div class="input-box">
                  <input name="searchfrom" type="hidden" value="header">
                    <input id="nav-search-query" type="text" placeholder="Search" name="q" value="" autocomplete="off">
                    <button class="button expand" type="submit"><i class="fa fa-search"></i></button>
                    <ul class='search-suggestions dropdown f-dropdown medium' style="display:none;"></ul>
                  </div>
                </form>
              </li>
            </ul>
          </section>
        </nav>

          <div class="visible-for-medium-up sub-navbar">
            <div class="row">
              <div class="container">
                <ul class="sub-nav-cats left">
                    <li class="sub-nav-cat">
                      <a href="/" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Home" rel="nofollow">Home</a>
                    </li>
                    <li class="sub-nav-cat">
                      <a href="/featured/category/technology" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Technology" rel="nofollow">Technology</a>
                    </li>
                    <li class="sub-nav-cat">
                      <a href="/featured/category/education" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Education" rel="nofollow">Education</a>
                    </li>
                    <li class="sub-nav-cat">
                      <a href="/explore" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="More Topics" rel="nofollow">More Topics</a>
                    </li>
                </ul>
                <ul class="sub-nav-cats right show-for-large-up sub-nav-link-ctas">
                  <li class="sub-nav-cat has-dropdown creators-hub-dropdown" data-dropdown="creators-hub-dropdown" data-options="is_hover:true;">
                    <a href="/ss/creators?from=sub-nav" class="sub-nav-link creators-hub" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="creators_hub">For Uploaders</a>
                  </li>
                  <li class="sub-nav-cat collect-leads-cta">
                  <a href="/lead-generation" class="sub-nav-link" data-ga-action="click" data-ga-cat="sub_nav_cat" data-ga-label="Collect Leads">Collect Leads</a>
                  </li>
                </ul>
                <ul id="creators-hub-dropdown" class="dropdown f-dropdown creators-hub-dropdown" data-dropdown-content>
                  <li>
                    <a href="/ss/creators/get-started?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_gs"
                    rel="nofollow">
                    Get Started</a>
                  </li>
                  <li class="divider"></li>
                  <li>
                    <a href="/ss/creators/tips-and-tricks?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_tat"
                    rel="nofollow">
                    Tips & Tricks</a>
                  </li>
                  <li class="divider"></li>
                  <li>
                    <a href="/ss/creators/tools?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_tools"
                    rel="nofollow">
                    Tools</a>
                  </li>
                  <li class="divider"></li>
                  <li>
                    <a href="/ss/creators/for-businesses?from=sub-nav"
                    data-ga-cat="sub_nav_cat"
                    data-ga-action="click"
                    data-ga-label="creators_hub_bus"
                    rel="nofollow">
                    For Business</a>
                  </li>
                </ul>
              </div>
            </div>
          </div>
      </div>

    <div class="wrapper">
        <div id="main-nav-mobile-search">
          <form name="mobile-search" action="/search/slideshow" method="get">
           <div class="input-box">
              <input type="text" placeholder="Search" name="q" value="" autocomplete="off">
              <a class="button expand">
                <i class="search-icon fa fa-search"></i>
                <i class="search-spinner fa fa-spinner fa-spin"></i>
              </a>
            </div>
          </form>
        </div>
        


      

      




<iframe id="download" style="display:none" src="" class="notify"></iframe>
<div id="j-downloading-alert" data-alert class="alert-box success radius
downloading-alert">
  <span class="copy-in-aria-label" aria-label="Your SlideShare is downloading."></span>
  <a href="#" class="close copy-in-aria-label" aria-label="&times;"></a>
</div>





<div id="slideview-container" class="">
  <div class="slideview-header-container row">
    <div class="columns">




      <div></div>
    </div>
  </div>

  <div class="row">

    <div id="main-panel" class="small-12 large-8 columns">


      <div class="sectionElements">

          
<div class="j-clips-toolbar clips-toolbar ">

  <div class="clips-progress progress">
    <span class="j-clips-meter clip-meter meter" style="width:0%"></span>
  </div>

  <div class="j-clips-info clips-info">
    <span class="j-clips-count clips-count copy-in-aria-label" aria-label="0"></span>
    <span class="j-clips-count-text clips-count-text notranslate copy-in-aria-label"
          data-content-zero="Be the first to clip this slide"
          data-content-one="person clipped this slide"
          data-content-other="people clipped this slide"
    ></span>
  </div>

</div>


        <div class="playerWrapper">



            <div>
              <!-- For slideview page , combined js for player is now combined with slideview javascripts for logged out users-->


<div class="player lightPlayer fluidImage presentation_player" id="svPlayerId">
  <span class="j-fullscreen-title-banner fullscreen-title-banner" style="display: none;">
    イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
  </span>

  <div class="stage valign-first-slide">
    <div class="player-cta-container">
          <div class="clip-button-top">
  <a id="clips-button-top" class="j-clips-button clip-button player-cta visible "
    href="/signup?login_source=slideview.clip.like&amp;from=clip&amp;layout=foundation&amp;from_source="
    rel="nofollow" data-reveal-id=login_modal style="display:none">
    <div class="container clearfix">
      <div class="svg-icon">
        <svg><use data-size="small" xlink:href="#clipboard-add-icon"></use></svg>
      </div>
      <span class="clip-button-text-clip notranslate copy-in-aria-label" aria-label="Clip slide" title="Clip to save this slide for later"></span>
    </div>
  </a>
</div>

    </div>
    <a class="exit-fullscreen j-exit-fullscreen" style="display: none;">
      <i class="fa fa-compress fa-2x"></i>
    </a>
    <div class="slide_container">
            <section data-index="1"  class="slide show" itemprop=image>
                <img class="slide_image"
                  src="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-1-638.jpg?cb=1455949285"
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-1-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-1-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-1-1024.jpg?cb=1455949285"
                  alt="この余⽩はタイトルを書くには狭すぎ
る
余⽩じゃなくてタイトル欄なんだけどな
2016/02/20
yoku0825
第2回 MySQL・PostgreSQLユーザーグループ合同DB勉強会 in 東京
 "/>
            </section>
            <section data-index="2"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-2-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-2-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-2-1024.jpg?cb=1455949285"
                  alt="おしながき
「明⽇使えない⾖知識」その1 （予告）
「明⽇使えない⾖知識」その2
「明⽇使えない⾖知識」その3
「明⽇使えない⾖知識」その4
「明⽇使えない⾖知識」その1 （本編）
1/133
 "/>
            </section>
            <section data-index="3"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-3-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-3-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-3-1024.jpg?cb=1455949285"
                  alt="「明⽇使えな
い⾖知識」そ
の1（予告）
2/133
 "/>
            </section>
            <section data-index="4"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-4-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-4-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-4-1024.jpg?cb=1455949285"
                  alt="NOW関数は現
在時刻を返さ
ない
3/133
 "/>
            </section>
            <section data-index="5"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-5-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-5-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-5-1024.jpg?cb=1455949285"
                  alt="真相は番組の後
半、チャンネル
はそのまま︕
4/133
 "/>
            </section>
            <section data-index="6"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-6-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-6-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-6-1024.jpg?cb=1455949285"
                  alt="「明⽇使えな
い⾖知識」そ
の2
5/133
 "/>
            </section>
            <section data-index="7"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-7-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-7-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-7-1024.jpg?cb=1455949285"
                  alt="MySQL 5.7
2013/04 MySQL 5.7.1 DMR11
2015/03 MySQL 5.7.6 DMR16
2015/04 MySQL 5.7.7 RC
2015/08 MySQL 5.7.8 RC
2015/10 MySQL ..."/>
            </section>
            <section data-index="8"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-8-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-8-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-8-1024.jpg?cb=1455949285"
                  alt="MySQL 5.7
2015/04 MySQL 5.7.7 RC
ここまではまあいい
2015/08 MySQL 5.7.8 RC
JSON型, virtual generated columnの拡張, InnoDB Page
Compress..."/>
            </section>
            <section data-index="9"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-9-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-9-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-9-1024.jpg?cb=1455949285"
                  alt="MySQL 5.7
2015/04 MySQL 5.7.7 RC
ここまではまあいい
2015/08 MySQL 5.7.8 RC
新機能!!
2015/10 MySQL 5.7.9 GA
新機能!!
2015/12 MySQL 5.7.10 ..."/>
            </section>
            <section data-index="10"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-10-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-10-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-10-1024.jpg?cb=1455949285"
                  alt="General
Available #
とは
9/133
 "/>
            </section>
            <section data-index="11"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-11-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-11-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-11-1024.jpg?cb=1455949285"
                  alt="「明⽇使えな
い⾖知識」そ
の3
10/133
 "/>
            </section>
            <section data-index="12"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-12-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-12-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-12-1024.jpg?cb=1455949285"
                  alt="講演のタイトル
「イルカ㌠からゾウ㌠に伝えたいMySQLのレプリケーションの
仕組み」とか話したかったんですけどかじやまさんから5.7にし
るって⾔われてるので残念ながら5.7の何かを話します（仮） と
思ったんですけどやっぱりイルカ㌠からゾウ..."/>
            </section>
            <section data-index="13"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-13-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-13-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-13-1024.jpg?cb=1455949285"
                  alt="意訳
12/133
 "/>
            </section>
            <section data-index="14"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-14-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-14-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-14-1024.jpg?cb=1455949285"
                  alt="MySQL 5.7の話は
もう飽きたんでレ
プリケーションの
話をします
13/133
 "/>
            </section>
            <section data-index="15"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-15-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-15-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-15-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
14/133
 "/>
            </section>
            <section data-index="16"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-16-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-16-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-16-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
15/133
 "/>
            </section>
            <section data-index="17"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-17-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-17-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-17-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
16/133
 "/>
            </section>
            <section data-index="18"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-18-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-18-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-18-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
17/133
 "/>
            </section>
            <section data-index="19"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-19-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-19-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-19-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
18/133
 "/>
            </section>
            <section data-index="20"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-20-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-20-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-20-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
19/133
 "/>
            </section>
            <section data-index="21"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-21-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-21-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-21-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
20/133
 "/>
            </section>
            <section data-index="22"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-22-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-22-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-22-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
21/133
 "/>
            </section>
            <section data-index="23"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-23-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-23-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-23-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
22/133
 "/>
            </section>
            <section data-index="24"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-24-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-24-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-24-1024.jpg?cb=1455949285"
                  alt="ことのあらまし
23/133
 "/>
            </section>
            <section data-index="25"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-25-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-25-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-25-1024.jpg?cb=1455949285"
                  alt="これはレプリケー
ション でしこたま
痛い目を⾒た の先
⼈ イルカ㌠から
24/133
 "/>
            </section>
            <section data-index="26"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-26-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-26-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-26-1024.jpg?cb=1455949285"
                  alt="これからレプリケー
ション で痛い目を⾒
る でできることが増
えていくゾウ㌠へ
25/133
 "/>
            </section>
            <section data-index="27"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-27-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-27-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-27-1024.jpg?cb=1455949285"
                  alt="語らねばなる
まい（使命
感）
26/133
 "/>
            </section>
            <section data-index="28"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-28-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-28-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-28-1024.jpg?cb=1455949285"
                  alt="というわけで
「明⽇使えない
⾖知識」その4
27/133
 "/>
            </section>
            <section data-index="29"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-29-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-29-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-29-1024.jpg?cb=1455949285"
                  alt="MySQLのレプ
リケーション
について
28/133
 "/>
            </section>
            <section data-index="30"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-30-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-30-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-30-1024.jpg?cb=1455949285"
                  alt="＼こんにちは／
yoku0825＠とある企業のDBA
オラクれない-
ポスグれない-
マイエスキューエる-
家に帰ると
妻の夫-
せがれの⽗-
ムスメの⽗-
Twitter: @yoku0825
Blog: ⽇々の覚書
MyNA ML: ⽇本M..."/>
            </section>
            <section data-index="31"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-31-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-31-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-31-1024.jpg?cb=1455949285"
                  alt="MyNAステッカー
デザインは堤井さん
今⽇持ってきてます。声かけてください。
30/133
 "/>
            </section>
            <section data-index="32"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-32-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-32-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-32-1024.jpg?cb=1455949285"
                  alt="MySQL年表
&lt; 5.0
知らない⼦ですね
5.0
2005/10〜2012/03
5.1
2008/11〜2013/12
5.5
2010/12〜2015/12
5.6
2013/02〜
5.7
31/133
 "/>
            </section>
            <section data-index="33"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-33-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-33-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-33-1024.jpg?cb=1455949285"
                  alt="レプリケーション年表
&lt; 5.0
3.23の頃から非同期レプリケーションがあった
5.1
⾏ベースレプリケーションフォーマット追加
5.5
準同期レプリケーションの追加
5.6
GTID、レプリケーション情報のInnoDBテーブル導⼊、マルチ
..."/>
            </section>
            <section data-index="34"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-34-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-34-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-34-1024.jpg?cb=1455949285"
                  alt="レプリケーションの動作原理
同じデータを持ったサーバーがあって
同じSQLを同じ順番で適⽤すれば
最終的に同じデータに戻るよね︖
という期待に基づいた、結果整合性モデル
33/133
 "/>
            </section>
            <section data-index="35"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-35-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-35-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-35-1024.jpg?cb=1455949285"
                  alt="レプリケーションのご法度
スレーブに更新をかけると「同じデータを持ったサーバー」
の前提が崩れる
循環レプリケーション…だと…︖-
非決定性関数を使うと「同じSQLを同じ順番で適⽤しても」
同じデータに戻らくなるよね︖
有名どころでSYSDAT..."/>
            </section>
            <section data-index="36"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-36-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-36-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-36-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
clientA
connection executor storage_engine
binlog binlog_dump
io_thread relaylog
slave_executorsql_..."/>
            </section>
            <section data-index="37"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-37-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-37-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-37-1024.jpg?cb=1455949285"
                  alt="MySQLレプリケーション⽤語
バイナリーログ, binlog
リレーログ
Binlog Dump Thread
I/Oスレッド, Receiver Thread
SQLスレッド, Applier Thread
36/133
 "/>
            </section>
            <section data-index="38"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-38-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-38-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-38-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dum..."/>
            </section>
            <section data-index="39"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-39-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-39-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-39-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dum..."/>
            </section>
            <section data-index="40"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-40-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-40-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-40-1024.jpg?cb=1455949285"
                  alt="Executorがストレージエンジンに書く
もちろんトランザクション対応はストレージエンジン依存
5.6まではコミットの時点でストレージエンジンのコミット
をしてしまっていた
5.7からはこの時点ではまだコミット されない
39/133
 "/>
            </section>
            <section data-index="41"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-41-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-41-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-41-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dum..."/>
            </section>
            <section data-index="42"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-42-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-42-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-42-1024.jpg?cb=1455949285"
                  alt="Executorがバイナリーログに書く
Executorから⾒たバイナリーログは binlogストレージエン
ジン
MySQLにもともと実装されているXAトランザクションを使
って⼆相コミット
binlog̲cacheにXA PREPAREして..."/>
            </section>
            <section data-index="43"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-43-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-43-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-43-1024.jpg?cb=1455949285"
                  alt="ストレージエンジンとして⾒たbinlog
A
binlog_cacheとsync_binlogによりアトミックっぽく振る舞え
るけど厳密にAtomicじゃない
C
ストレージエンジン層がコミットをシリアライズしてくれるこ
とに依存
I
常にSE..."/>
            </section>
            <section data-index="44"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-44-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-44-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-44-1024.jpg?cb=1455949285"
                  alt="バイナリーログのその他の使い道
PITR
シリアライズされた更新情報なのでPITRに使う-
SQLをパースして⾊々する
テーブルごとのUPDATE回数を後追いで集計するとか-
中⾝を取り出して別のデータストアに⼊れるとか-
43/133
 "/>
            </section>
            <section data-index="45"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-45-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-45-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-45-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dum..."/>
            </section>
            <section data-index="46"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-46-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-46-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-46-1024.jpg?cb=1455949285"
                  alt="Binlog Dump Threadがバイナリーログを読む
fsyncしててもしてなくてもwriteされた時点から読める
マスターのmysqldではクライアントからのコネクション扱
い
スレーブでSTART SLAVE =&gt; マスターで認証 =..."/>
            </section>
            <section data-index="47"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-47-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-47-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-47-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dum..."/>
            </section>
            <section data-index="48"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-48-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-48-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-48-1024.jpg?cb=1455949285"
                  alt="I/O ThreadがBinlog Dumpからイベントを受け取って
リレーログに書く
ここからスレーブのmysqld
Binlog Dumpから送り付けられたイベントをリレーログと
して書き込む
ちなみに、mysqlbinlog -Rも（マス..."/>
            </section>
            <section data-index="49"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-49-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-49-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-49-1024.jpg?cb=1455949285"
                  alt="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dum..."/>
            </section>
            <section data-index="50"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-50-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-50-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-50-1024.jpg?cb=1455949285"
                  alt="SQL Threadがリレーログからイベントを読み取って⾃⾝
のExecutorを叩く
これによりマスターのExecutorがまるでスレーブの
Executorも叩いたかの様にデータが更新される
Executorはまたバイナリーログを吐くことも..."/>
            </section>
            <section data-index="51"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-51-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-51-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-51-1024.jpg?cb=1455949285"
                  alt="binlogフォーマット
SBR
Statement Based Replication
RBR
Row Based Replication
MBR（あんまり⾔わない）
Mixed Based Replication
50/133
 "/>
            </section>
            <section data-index="52"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-52-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-52-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-52-1024.jpg?cb=1455949285"
                  alt="SBR
いわゆる MySQLのレプリケーション っぽいやつ
binlogに記録されるのはエンコードされた SQLステートメ
ント
イベントはステートメント単位-
MySQL 5.6とそれ以前のデフォルト
51/133
 "/>
            </section>
            <section data-index="53"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-53-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-53-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-53-1024.jpg?cb=1455949285"
                  alt="SBR
$ mysqlbinlog -R -h 127.0.0.1 -P 64057 -uroot --stop-never bin.00
0010
mysql57&gt; SET SESSION binlog_format= &#x27;STATEMENT&#x27;..."/>
            </section>
            <section data-index="54"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-54-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-54-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-54-1024.jpg?cb=1455949285"
                  alt="SBR
SQLステートメントが記録されるため、そのステートメント
が何百万⾏更新しようと1ステートメントぶんのスペースし
か取らない。
容量的なワーストケースはINSERTや1⾏UPDATE。-
SQLとしてパースされるため、「マスターには存在..."/>
            </section>
            <section data-index="55"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-55-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-55-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-55-1024.jpg?cb=1455949285"
                  alt="SBR
SQLとしてそれぞれのサーバーで実⾏されるため、非決定性
（実⾏するたびに結果が違う）ステートメントを使うと死
ぬ。
http://dev.mysql.com/doc/refman/5.6/ja/
replication-rbr-saf..."/>
            </section>
            <section data-index="56"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-56-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-56-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-56-1024.jpg?cb=1455949285"
                  alt="READ-COMMITTEDがSBRを壊す︖
REPEATABLE-READならネクストキーロックでtrx2がブロ
ックされる。
+-----+------+
| num | val |
+-----+------+
| 1 | one |
+..."/>
            </section>
            <section data-index="57"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-57-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-57-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-57-1024.jpg?cb=1455949285"
                  alt="RBR
5.1から導⼊
binlogに記録されるのは⾏の変更前の値と変更後の値をバイ
ナリーエンコードしたもの
イベントは⾏単位-
ただしDDLは設定に関わらずSBRで記録される
MySQL 5.7からのデフォルト
56/133
 "/>
            </section>
            <section data-index="58"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-58-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-58-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-58-1024.jpg?cb=1455949285"
                  alt="RBR
$ mysqlbinlog -R -h 127.0.0.1 -P 64057 -uroot --stop-never bin.000010
mysql57&gt; SET SESSION binlog_format= &#x27;ROW&#x27;;
Query..."/>
            </section>
            <section data-index="59"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-59-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-59-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-59-1024.jpg?cb=1455949285"
                  alt="RBR
1⾏1イベント。100万⾏更新すると死ぬ。
INSERTや1⾏UPDATEならSBRとそんなに容量変わらな
い。
-
スレーブでも⾏探索と更新は⾏われるので、 プライマリ
ーキーが無いとカジュアルに死ぬ
-
「マスターには存在したけどス..."/>
            </section>
            <section data-index="60"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-60-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-60-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-60-1024.jpg?cb=1455949285"
                  alt="RBR
非決定性関数だろうと「実⾏結果が記録」されるため、マス
ターとスレーブでも値はズレない。
マスターでのみトリガーが解釈され、トリガー元テーブルと
トリガー先テーブルの両⽅のイベントがbinlogに記録され
る。
マスターとスレーブでトリ..."/>
            </section>
            <section data-index="61"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-61-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-61-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-61-1024.jpg?cb=1455949285"
                  alt="MBR
基本はSBR、非決定性ステートメントだけRBRで使い分け
る。MBRと呼ぶのは稀。
いいとこ尽くしに聞こえなくもないけど、実際は思わぬとこ
ろでRBRにフォールバックして割とカジュアルに死ぬ。
マスタースレーブでトリガーをズラして調整し..."/>
            </section>
            <section data-index="62"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-62-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-62-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-62-1024.jpg?cb=1455949285"
                  alt="初⼼者は黙ってRBR(5.7ʼs default)
初⼼者は黙ってRBR
サイレントにデータがズレるよりはエラって⽌まった⽅がマ
シ
データのズレを検出＆リカバリーするにはpt-table-
checksumとpt-table-syncが有効
..."/>
            </section>
            <section data-index="63"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-63-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-63-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-63-1024.jpg?cb=1455949285"
                  alt="pt-table-checksum
SBRとRBRでそれぞれチェックサムを計算してテーブルに突
っ込むクエリーを発⾏
マスター上では当然SBRでもRBRでも同じチェックサム
になる
-
スレーブではSBRで来たイベントは スレーブでチェックサ
..."/>
            </section>
            <section data-index="64"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-64-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-64-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-64-1024.jpg?cb=1455949285"
                  alt="pt-online-schema-change
変更元テーブルをコピーして先にALTER TABLEを適⽤する
変更元テーブルにトリガーを仕掛けて、変更元テーブルに対
する更新がコピーしたテーブルにも反映されるようにする
READ-COMMIT..."/>
            </section>
            <section data-index="65"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-65-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-65-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-65-1024.jpg?cb=1455949285"
                  alt="pt-online-schema-change
InnoDBオンラインDDLが導⼊された5.6以降でも有効
何故なら、SQLスレッドは相変わらず1本（あるいは、同じ
テーブルだとMTS使ってても追い越せない）ので、ALTER
TABLEに時間が..."/>
            </section>
            <section data-index="66"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-66-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-66-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-66-1024.jpg?cb=1455949285"
                  alt="バイナリーログの⼀⽣
マスター上でコミットされた順にbinlogにエンコード
binlogからrelaylogにシングルスレッドで転送（順序は保証
される）
relaylogはシングルスレッドまたはマルチスレッドで適⽤
MySQL 5.5とそれ..."/>
            </section>
            <section data-index="67"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-67-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-67-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-67-1024.jpg?cb=1455949285"
                  alt="MTSのアーキテクチャー
clientA
connection executor storage_engine
binlog binlog_dump
io_thread relaylog
slave_executor1
slave_execut..."/>
            </section>
            <section data-index="68"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-68-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-68-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-68-1024.jpg?cb=1455949285"
                  alt="MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Thread(coordinator)がリレーログからイベントを取
り出す
2.
coordinatorがslave̲worker̲th..."/>
            </section>
            <section data-index="69"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-69-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-69-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-69-1024.jpg?cb=1455949285"
                  alt="MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Thread(coordinator)がリレーログからイベントを取
り出す
2.
coordinatorがslave̲worker̲th..."/>
            </section>
            <section data-index="70"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-70-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-70-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-70-1024.jpg?cb=1455949285"
                  alt="MTSコーディネーター
前後のイベントが互いに⼲渉しない（順序を⼊れ替えても問
題ない）かどうかの責任を持つ
ただし順序が⼊れ替わる（線形でない）ことが⼤前提の
ため、シングルスレッドレプリケーションよりも結果整
合性の⾊が強い
-
69/133
 "/>
            </section>
            <section data-index="71"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-71-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-71-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-71-1024.jpg?cb=1455949285"
                  alt="MTSコーディネーター
MySQL 5.6ではスキーマが分かれていることで⼲渉しない
ことを担保（5.7のslave_parallel_type= DATABASE相当）
5.7ではマスターでbinlogに記録された時の直前のコミット
のタイム..."/>
            </section>
            <section data-index="72"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-72-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-72-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-72-1024.jpg?cb=1455949285"
                  alt="MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Thread(coordinator)がリレーログからイベントを取
り出す
2.
coordinatorがslave̲worker̲th..."/>
            </section>
            <section data-index="73"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-73-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-73-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-73-1024.jpg?cb=1455949285"
                  alt="slave̲worker̲thread
独⽴して動作するため、RR（Repeatable-Read）でもマス
ターと同⼀のデータベース全体のスナップショットを保証で
きない
5.6ではスレーブ側のバイナリーログの中⾝は順序を保証で
きない（5...."/>
            </section>
            <section data-index="74"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-74-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-74-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-74-1024.jpg?cb=1455949285"
                  alt="イベントの識別
たとえばInnoDBログならLSN
バイナリーログはファイル名とファイルの先頭からのオフセ
ットバイト数
これらはマスター上でのみ⼀意に識別されるものなので
カスケードすると変わる
-
MySQL 5.6とそれ以降のGTIDもこ..."/>
            </section>
            <section data-index="75"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-75-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-75-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-75-1024.jpg?cb=1455949285"
                  alt="CHANGE MASTER TO
mysql&gt; CHANGE MASTER TO master_log_file= &#x27;..&#x27;, master_log_pos
= ..;
このバイナリーログのこのポジションから先を寄越せ、とい
うクライアントから..."/>
            </section>
            <section data-index="76"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-76-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-76-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-76-1024.jpg?cb=1455949285"
                  alt="master.info
マスターの情報を保持するための構造。コード追う時は
mi。
CHANGE MASTER TOで与えられた情報 + αが⼊ってる。
relay_log_recovery != 1の時はここからファイルとポジシ
ョンの情報を..."/>
            </section>
            <section data-index="77"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-77-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-77-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-77-1024.jpg?cb=1455949285"
                  alt="master.info
slave1 [localhost] {msandbox} ((none)) &gt; SELECT * FROM mysql.slave_master_infoG
*************************** 1...."/>
            </section>
            <section data-index="78"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-78-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-78-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-78-1024.jpg?cb=1455949285"
                  alt="relay̲log.info
リレーログ（SQLスレッド, slave̲worker̲thread）の情報
を保持するための構造。コード追う時はrli。
Relay̲log̲fileとかRelay̲log̲posとか
Relay̲Master̲..."/>
            </section>
            <section data-index="79"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-79-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-79-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-79-1024.jpg?cb=1455949285"
                  alt="relay̲log.info
slave1 [localhost] {msandbox} ((none)) &gt; SELECT * FROM mysql.slav
e_relay_log_infoG
***********************..."/>
            </section>
            <section data-index="80"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-80-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-80-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-80-1024.jpg?cb=1455949285"
                  alt="レプリケーションとマスタークラッシュ
バイナリーログ マスターストレージ リレーログ 影響
残ってない 未更新 受信してない なし（︖）
残ってない 未更新 受信した データ不整合（スレーブに
あってマスターにない）
しかもエラー
（ER̲MA..."/>
            </section>
            <section data-index="81"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-81-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-81-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-81-1024.jpg?cb=1455949285"
                  alt="レプリケーションとマスタークラッシュ
sync_binlog= 1だと起こり得る範囲がぐっと狭く
バイナリーログ マスターストレージ リレーログ 影響
残ってる 未更新 受信してない トランザクションロ
スト
残ってる 未更新 受信した データ..."/>
            </section>
            <section data-index="82"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-82-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-82-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-82-1024.jpg?cb=1455949285"
                  alt="レプリケーションとマスタークラッシュ
またはsemisync + log_slave_updatesでマスター切り替え
バイナリーログ マスターストレージ リレーログ 影響
残ってない 未更新 受信した データ不整合（スレーブに
あってマスター..."/>
            </section>
            <section data-index="83"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-83-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-83-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-83-1024.jpg?cb=1455949285"
                  alt="レプリケーションとスレーブクラッシュ
リレーログ master.info SQLスレッド relay̲log.info 影響
受け取ってない 記録してない 適⽤してない 記録してない なし
受け取ってる 記録してない 適⽤してない 記録してない..."/>
            </section>
            <section data-index="84"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-84-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-84-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-84-1024.jpg?cb=1455949285"
                  alt="レプリケーションとスレーブクラッシュ
relay_log_info_repository= TABLE
ただしInnoDB前提（innodb_flush_log_at_trx_commit
= 1で次の表）
-
SQLスレッドのイベント適⽤と
..."/>
            </section>
            <section data-index="85"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-85-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-85-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-85-1024.jpg?cb=1455949285"
                  alt="relay_log_info_repository= TABLE &amp;&amp;
innodb_flush_log_at_trx_commit = 1
リレーログ master.info SQLスレッド relay̲log.info 影響
受け取ってない..."/>
            </section>
            <section data-index="86"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-86-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-86-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-86-1024.jpg?cb=1455949285"
                  alt="レプリケーションとスレーブクラッシュ
relay_log_recovery
レプリケーションの再開時にmaster.infoのポジション情
報をアテにせず、relaylog.infoの情報を元にレプリケー
ションを復元する
-
受信済みだけど未..."/>
            </section>
            <section data-index="87"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-87-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-87-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-87-1024.jpg?cb=1455949285"
                  alt="relay_log_recovery
リレーログ master.info SQLスレッド relay̲log.info 影響
受け取ってない 記録してない 適⽤してない 記録してない なし
受け取ってる 記録してない 適⽤した 記録してない リ..."/>
            </section>
            <section data-index="88"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-88-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-88-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-88-1024.jpg?cb=1455949285"
                  alt="レプリケーションとスレーブクラッシュ
男らしくバックアップからリストアする
割と真⾯目に。
毎回リストアすると割り切れば、ACIDのDは無茶な⽅向
に振れて性能が稼げるお( ＾ω＾)
-
87/133
 "/>
            </section>
            <section data-index="89"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-89-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-89-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-89-1024.jpg?cb=1455949285"
                  alt="レプリケーションとスレーブクラッシュ
sync̲relay̲log?
syncされていようとsyncされていまいと、リレーログからレ
プリケーション再開位置を特定するわけではない
sync̲master̲info?
relay_log_reco..."/>
            </section>
            <section data-index="90"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-90-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-90-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-90-1024.jpg?cb=1455949285"
                  alt="マスター側のフィルターに関するパラメーター
server_id, replicate_same_server_id
フィルター関連っぽくないけど。-
⾃分と同じサーバーIDのイベントは読み⾶ばす
カスケードすると同じサーバーIDのmysqldが..."/>
            </section>
            <section data-index="91"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-91-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-91-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-91-1024.jpg?cb=1455949285"
                  alt="スレーブ側のフィルターに関するパラメーター
SQLスレッドでフィルター
なので、I/Oスレッドはフツーに受信してリレーログまで
吐く
-
replicate_do_db, replicate_ignore_db-
replicate_do_ta..."/>
            </section>
            <section data-index="92"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-92-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-92-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-92-1024.jpg?cb=1455949285"
                  alt="レプリケーションフィルターの評価順
フローチャートになってるので⾒やすい
MySQL :: MySQL 5.6 リファレンスマニュアル :: 17.2.3
サーバーがレプリケーションフィルタリングルールをどのよ
うに評価するか
マスターとスレー..."/>
            </section>
            <section data-index="93"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-93-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-93-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-93-1024.jpg?cb=1455949285"
                  alt="レプリケーションで垂直シャード
table1 table2 table3
binlog
replicate_do_table= t
able1
table1 replicate_do_table= t
able2, table3
table2
..."/>
            </section>
            <section data-index="94"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-94-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-94-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-94-1024.jpg?cb=1455949285"
                  alt="マスターとスレーブで
バージョンが違ってもいい（レプリケーションがサポートさ
れるのは原則リリース系列1世代）
スレーブを先にバージョンアップするパターンのみ
全部のスレーブを先にバージョンアップしてマスター切り替
えして、旧マスターをバージョ..."/>
            </section>
            <section data-index="95"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-95-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-95-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-95-1024.jpg?cb=1455949285"
                  alt="マスターとスレーブで
ストレージエンジンが違ってもいい（だがマスターを
BLACKHOLEはやめておけ）
マスターはInnoDBでトランザクション保護、集計⽤スレー
ブはMyISAMでスキャンしまくる遊び（あるいは、MyISAM
は容量効率がい..."/>
            </section>
            <section data-index="96"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-96-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-96-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-96-1024.jpg?cb=1455949285"
                  alt="マスターとスレーブで
インデックスがあったりなかったりしていい（カラムはやめ
ておいた⽅が無難）
RSU（Rolling Schema Update）って呼ぶこともある。
呼ばないこともある。
-
5.6のInnoDBオンラインDDLでRSUが..."/>
            </section>
            <section data-index="97"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-97-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-97-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-97-1024.jpg?cb=1455949285"
                  alt="これまでのレプリケーションの制約
I/Oスレッド - リレーログ - SQLスレッド で1組
5.6からSQLスレッドは並列化可能に-
I/Oスレッドが1本しかないということは、「スレーブか
ら⾒たマスターは1つしか存在できない」
マスターから..."/>
            </section>
            <section data-index="98"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-98-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-98-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-98-1024.jpg?cb=1455949285"
                  alt="複数のマスターを持ちたい理由
集計⽤スレーブ
あっちのサーバーのデータとこっちのサーバーのデータ
をJOINしたい
-
集計⽤と割り切ればHDDのRAID5で容量を稼ぐという選
択肢もありだし
-
シャードの集約
複数のシャードをまとめてサーバ..."/>
            </section>
            <section data-index="99"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-99-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-99-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-99-1024.jpg?cb=1455949285"
                  alt="N対1レプリケーション
通称えぬいちレプリケーションまたはどあきレプリケー
ション
「1つのマスターしか設定できないなら、定期的にマスター
を切り替えればいいじゃない」
do-aki/N1Repl: master n : slave 1 rep..."/>
            </section>
            <section data-index="100"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-100-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-100-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-100-1024.jpg?cb=1455949285"
                  alt="N対1レプリケーション
master1 slave master2
START SLAVE
Binlog Dump
Applying
CHANGE MASTER TO
Binlog Dump
Applying
CHANGE MASTER TO
..."/>
            </section>
            <section data-index="101"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-101-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-101-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-101-1024.jpg?cb=1455949285"
                  alt="N対1レプリケーション
実はMySQL Utilitiesにもmysqlrplmsというどあきレプリケ
ーションスクリプトがある
ただしこちらはGTID必須
mysqlrplms ̶ Set Up and Start Replication A..."/>
            </section>
            <section data-index="102"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-102-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-102-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-102-1024.jpg?cb=1455949285"
                  alt="(Native) Multi Source Replication
MySQLでは5.7、MariaDBでは10.0から
「1つのI/Oスレッドが1つのマスターしか設定できないな
ら、I/Oスレッドごと横に増やせばいいじゃない」
I/Oスレッド..."/>
            </section>
            <section data-index="103"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-103-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-103-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-103-1024.jpg?cb=1455949285"
                  alt="(Native) Multi Source Replication
master1 slave_channel_1 slave_channel_2 master2
START SLAVE FOR CHANNE
L 1
Binlog Dump
A..."/>
            </section>
            <section data-index="104"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-104-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-104-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-104-1024.jpg?cb=1455949285"
                  alt="お⼿軽シャード集約
スキーマが分かれている場合
インポートだけ間違えなければ⼤丈夫
スキーマは同じだけどテーブルが分かれている場合
インポートだけ間違えなければ⼀応⼤丈夫
同じ名前空間のテーブルがある
ユニークキーは本当にユニーク︖ サロゲート..."/>
            </section>
            <section data-index="105"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-105-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-105-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-105-1024.jpg?cb=1455949285"
                  alt="GTID
Global Transaction IDentifier
サーバー識別⼦（マスターの@@server_uuid）、ソースを
追っかけるならSIDNO（Source ID NO）
datadir/auto.cnfに保管されるので、リス..."/>
            </section>
            <section data-index="106"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-106-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-106-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-106-1024.jpg?cb=1455949285"
                  alt="GTIDとマスター
バイナリーログにGTIDを埋め込むようになる…くらいしか
違いはない
とはいえgtid_mode= ONにはenforce_gtid_consistency= ON
が必要なので、マスターの振る舞いとしては違いは少なくと
も..."/>
            </section>
            <section data-index="107"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-107-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-107-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-107-1024.jpg?cb=1455949285"
                  alt="GTIDとI/Oスレッド
master_auto_position= 1の場合、「このファイルのこのポ
ジションから寄越せ︕」の代わりに、「この（=スレーブが
既に適⽤済みの）GTID 以外 のバイナリーログを頼む」に
なる
サーバー側が動的に..."/>
            </section>
            <section data-index="108"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-108-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-108-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-108-1024.jpg?cb=1455949285"
                  alt="gtid̲executedの保管
バージョン log̲bin 保存先 再起動時の
gtid̲executedの復元
5.6 OFF N/A N/A(GTIDが有効化
できない)
5.6 ON バイナリーログ 最新のバイナリーロ
グの
Previ..."/>
            </section>
            <section data-index="109"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-109-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-109-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-109-1024.jpg?cb=1455949285"
                  alt="gtid̲executedの保管
バージョン log̲bin 保存先 再起動時の
gtid̲executedの復元
5.7 OFF mysql.gtid̲excute
d
テーブルから
（COMMITのたびに
mysql.gtid̲execut..."/>
            </section>
            <section data-index="110"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-110-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-110-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-110-1024.jpg?cb=1455949285"
                  alt="GTIDとSQLスレッド
GTIDの連番部分（GNO）は気にしない
これから実⾏するトランザクションのGTID（gtid_next）が
実⾏済み（gtid_executedに含まれる）の場合、実⾏しない
（スキップする）
これによってスレーブク..."/>
            </section>
            <section data-index="111"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-111-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-111-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-111-1024.jpg?cb=1455949285"
                  alt="GTIDの有効化
masterslave OFF OFF̲PERMISSIVE ON̲PERMISSIVE ON
OFF ○ ○ ○ ×
OFF̲PERMIS
SIVE
○ ○ ○ ×
ON̲PERMISS
IVE
× ○ ○ ○
ON × ○..."/>
            </section>
            <section data-index="112"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-112-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-112-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-112-1024.jpg?cb=1455949285"
                  alt="GTIDの有効化
OFF
GTIDを振らない。GTIDの振られたイベントが来るとエラる
OFF̲PERMISSIVE (5.7から)
GTIDを振らないけど、GTIDの振られたイベントが来ても⽂句
を⾔わない
ON̲PERMISSIVE (5...."/>
            </section>
            <section data-index="113"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-113-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-113-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-113-1024.jpg?cb=1455949285"
                  alt="準同期レプリケーション
通称semisync
ここを同期にする
Executorがストレージエンジンに書くa.
Executorがバイナリーログに書くb.
Binlog Dump Threadがバイナリーログを読むc.
I/O ThreadがB..."/>
            </section>
            <section data-index="114"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-114-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-114-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-114-1024.jpg?cb=1455949285"
                  alt="準同期レプリケーションのパラメーター
rpl_semi_sync_master_timeout
デフォルトが10000（ミリ秒、つまり10秒）と⼤きい-
rpl_semi_sync_master_wait_no_slave
OFFにすると、スレ..."/>
            </section>
            <section data-index="115"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-115-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-115-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-115-1024.jpg?cb=1455949285"
                  alt="準同期レプリケーションの拡張 at 5.7
rpl_semi_sync_master_wait_for_slave_count
いくつのI/O ThreadがACKを返したらマスター上でOKと
されるかを指定可能に
-
rpl_semi_syn..."/>
            </section>
            <section data-index="116"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-116-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-116-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-116-1024.jpg?cb=1455949285"
                  alt="その他のレプ
リケーショ
ン︖
115/133
 "/>
            </section>
            <section data-index="117"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-117-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-117-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-117-1024.jpg?cb=1455949285"
                  alt="仮想完全同期レプリケーション
通称Galera Cluster
本家codershipのGalera Cluster for MySQL, Percona実
装のPercona XtraDB Cluster, MariaDB実装のMariaDB..."/>
            </section>
            <section data-index="118"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-118-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-118-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-118-1024.jpg?cb=1455949285"
                  alt="Galera Cluster
ローカルノードにトランザクションを展開1.
COMMIT前にGalera Cacheに書き込み2.
Galera Cacheのプロパゲート3.
他ノードからACK4.
ローカルノードでCOMMIT完了5.
他ノード..."/>
            </section>
            <section data-index="119"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-119-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-119-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-119-1024.jpg?cb=1455949285"
                  alt="Percona XtraBackup
レプリケーション︖
グローバルロックをかけてLSNを取り出すa.
テーブルスペースファイルのコピーb.
コピー中、InnoDBログをスキャンして、開始時以降の
LSNのログを全て記録する
c.
コピーしたテ..."/>
            </section>
            <section data-index="120"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-120-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-120-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-120-1024.jpg?cb=1455949285"
                  alt="mysqlbinlog -R –stop-never –raw
マスターから⾒るとI/Oスレッドに⾒えるmysqlbinlog -Rに
バイナリーログの末尾まで⾏っても終了しない--stop-never
オプションを付け
binlogデコードを..."/>
            </section>
            <section data-index="121"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-121-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-121-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-121-1024.jpg?cb=1455949285"
                  alt="Facebook MySQLのmysqlbinlog
semisyncスレーブになれるようなオプションが拡張されて
る
マスターとスレーブは複数の違うDCに配置されてるらしく
て
マスターと同じDCにバイナリーログ保管⽤のmysqlbinlog..."/>
            </section>
            <section data-index="122"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-122-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-122-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-122-1024.jpg?cb=1455949285"
                  alt="Binlog Events
I/Oスレッド相当の実装とbinlogデコーダーの実装ライブラ
リー
地雷が埋まってるらしい。-
MySQL Binlog Events でストリーム処理してみた
#MySQLUC15
-
Labs にある”Hado..."/>
            </section>
            <section data-index="123"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-123-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-123-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-123-1024.jpg?cb=1455949285"
                  alt="InnoDB Memcached Plugin
122/133
 "/>
            </section>
            <section data-index="124"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-124-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-124-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-124-1024.jpg?cb=1455949285"
                  alt="InnoDB Memcached Plugin
innodb_api_enable_binlogを有効にするとbinlog吐ける
イベントは全てRBR
がんばれば「トランザクション対応永続化分散
memcached」が出来るかも知れない
inn..."/>
            </section>
            <section data-index="125"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-125-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-125-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-125-1024.jpg?cb=1455949285"
                  alt="さあみなさん
お待ちかね
124/133
 "/>
            </section>
            <section data-index="126"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-126-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-126-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-126-1024.jpg?cb=1455949285"
                  alt="「NOW関数は現
在時刻を返さな
い」の謎に迫る
125/133
 "/>
            </section>
            <section data-index="127"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-127-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-127-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-127-1024.jpg?cb=1455949285"
                  alt="NOW関数
NOW() は、ステートメントが実⾏を開始する時刻を⽰
す定数時間を返します。
さらに、SET TIMESTAMP ステートメントによっ
て、 ..snip.. タイムスタンプをゼロ以外の値に設定する
と、後続の NOW() が起動..."/>
            </section>
            <section data-index="128"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-128-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-128-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-128-1024.jpg?cb=1455949285"
                  alt="NOW関数
mysql56&gt; SELECT NOW();
2016-02-18 19:37:18
mysql56&gt; SELECT NOW();
2016-02-18 19:37:19
mysql56&gt; SET timestamp= 145579..."/>
            </section>
            <section data-index="129"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-129-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-129-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-129-1024.jpg?cb=1455949285"
                  alt="NOW関数とバイナリーログ
安全でないと⾒なされない非決定的関数。 これらの関
数は決定的ではありませんが、ロギングおよびレプリケ
ー シ ョ ン目 的の場 合は安 全と し て処 理さ れ ま す:
CONNECTION̲ID()、CURDA..."/>
            </section>
            <section data-index="130"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-130-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-130-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-130-1024.jpg?cb=1455949285"
                  alt="NOW関数とバイナリーログ
# at 4381
#160212 17:23:20 server id 1056 end_log_pos 4466 Query thread_i
d=43 exec_time=0 error_code=0
SET ..."/>
            </section>
            <section data-index="131"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-131-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-131-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-131-1024.jpg?cb=1455949285"
                  alt="レプリケーション
でしこたま痛い目
を⾒た の先⼈ イル
カ㌠から
130/133
 "/>
            </section>
            <section data-index="132"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-132-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-132-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-132-1024.jpg?cb=1455949285"
                  alt="これからレプリケー
ション で痛い目を⾒
る でできることが増
えていくゾウ㌠へ
131/133
 "/>
            </section>
            <section data-index="133"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-133-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-133-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-133-1024.jpg?cb=1455949285"
                  alt="楽しい
よ︕︕１
132/133
 "/>
            </section>
            <section data-index="134"  class="slide" >
                <i class="fa fa-spinner fa-spin"></i>
                <img class="slide_image"
                  src=""
                  data-small="http://image.slidesharecdn.com/mysql-160220062031/85/mysql-134-320.jpg?cb=1455949285"
                  data-normal="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-134-638.jpg?cb=1455949285"
                  data-full="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-134-1024.jpg?cb=1455949285"
                  alt="Questions
and/or
Suggestions?
133/133
 "/>
            </section>
        <div class="j-next-container next-container">
          <div class="content-container">
            <div class="next-slideshow-wrapper">
              <div class="j-next-slideshow next-slideshow">
                <div class="title-container">
                  <span class="title-text">Upcoming SlideShare</span>
                </div>
                <div class="j-next-url info">
                  <div class="thumb-container">
                    <img class="j-next-thumb thumb" />
                  </div>
                  <div class="text-container">
                    <span class="j-next-title next-title"></span>
                    <span class="j-next-views next-views"></span>
                  </div>
                </div>
              </div>
              <div class="next-timer">Loading in …<span class="j-timer-count timer-count">5</span></div>
              <div class="j-next-cancel next-cancel">&#215;</div>
            </div>
          </div>
        </div>
    </div>
  </div> <!-- end stage -->

  <div class="toolbar_wrapper j-player-toolbar">
    <div class="toolbar normal">
      
<!-- using div.bar-[top, bottom]-margin to fix toolbar spacing with a taller progressbar (improve slide scrubbing UX) -->
<div class="j-progress-bar progress-bar-wrapper">
  <div class="progress-bar-spacing"></div>
  <div class="buffered-bar"></div>
  <div class="j-slides-loaded-bar progress-bar"></div>
  <div class="j-progress-tooltip progress-tooltip" style="display: none;">
    <div class="j-tooltip-content progress-tooltip-wrapper">
      <img class="j-tooltip-thumb tooltip-thumb" onerror="this.src=''"
            slide-thumb-1=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-1-320.jpg?cb=1455949285
            slide-thumb-2=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-2-320.jpg?cb=1455949285
            slide-thumb-3=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-3-320.jpg?cb=1455949285
            slide-thumb-4=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-4-320.jpg?cb=1455949285
            slide-thumb-5=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-5-320.jpg?cb=1455949285
            slide-thumb-6=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-6-320.jpg?cb=1455949285
            slide-thumb-7=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-7-320.jpg?cb=1455949285
            slide-thumb-8=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-8-320.jpg?cb=1455949285
            slide-thumb-9=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-9-320.jpg?cb=1455949285
            slide-thumb-10=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-10-320.jpg?cb=1455949285
            slide-thumb-11=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-11-320.jpg?cb=1455949285
            slide-thumb-12=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-12-320.jpg?cb=1455949285
            slide-thumb-13=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-13-320.jpg?cb=1455949285
            slide-thumb-14=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-14-320.jpg?cb=1455949285
            slide-thumb-15=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-15-320.jpg?cb=1455949285
            slide-thumb-16=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-16-320.jpg?cb=1455949285
            slide-thumb-17=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-17-320.jpg?cb=1455949285
            slide-thumb-18=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-18-320.jpg?cb=1455949285
            slide-thumb-19=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-19-320.jpg?cb=1455949285
            slide-thumb-20=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-20-320.jpg?cb=1455949285
            slide-thumb-21=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-21-320.jpg?cb=1455949285
            slide-thumb-22=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-22-320.jpg?cb=1455949285
            slide-thumb-23=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-23-320.jpg?cb=1455949285
            slide-thumb-24=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-24-320.jpg?cb=1455949285
            slide-thumb-25=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-25-320.jpg?cb=1455949285
            slide-thumb-26=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-26-320.jpg?cb=1455949285
            slide-thumb-27=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-27-320.jpg?cb=1455949285
            slide-thumb-28=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-28-320.jpg?cb=1455949285
            slide-thumb-29=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-29-320.jpg?cb=1455949285
            slide-thumb-30=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-30-320.jpg?cb=1455949285
            slide-thumb-31=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-31-320.jpg?cb=1455949285
            slide-thumb-32=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-32-320.jpg?cb=1455949285
            slide-thumb-33=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-33-320.jpg?cb=1455949285
            slide-thumb-34=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-34-320.jpg?cb=1455949285
            slide-thumb-35=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-35-320.jpg?cb=1455949285
            slide-thumb-36=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-36-320.jpg?cb=1455949285
            slide-thumb-37=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-37-320.jpg?cb=1455949285
            slide-thumb-38=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-38-320.jpg?cb=1455949285
            slide-thumb-39=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-39-320.jpg?cb=1455949285
            slide-thumb-40=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-40-320.jpg?cb=1455949285
            slide-thumb-41=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-41-320.jpg?cb=1455949285
            slide-thumb-42=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-42-320.jpg?cb=1455949285
            slide-thumb-43=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-43-320.jpg?cb=1455949285
            slide-thumb-44=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-44-320.jpg?cb=1455949285
            slide-thumb-45=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-45-320.jpg?cb=1455949285
            slide-thumb-46=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-46-320.jpg?cb=1455949285
            slide-thumb-47=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-47-320.jpg?cb=1455949285
            slide-thumb-48=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-48-320.jpg?cb=1455949285
            slide-thumb-49=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-49-320.jpg?cb=1455949285
            slide-thumb-50=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-50-320.jpg?cb=1455949285
            slide-thumb-51=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-51-320.jpg?cb=1455949285
            slide-thumb-52=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-52-320.jpg?cb=1455949285
            slide-thumb-53=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-53-320.jpg?cb=1455949285
            slide-thumb-54=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-54-320.jpg?cb=1455949285
            slide-thumb-55=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-55-320.jpg?cb=1455949285
            slide-thumb-56=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-56-320.jpg?cb=1455949285
            slide-thumb-57=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-57-320.jpg?cb=1455949285
            slide-thumb-58=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-58-320.jpg?cb=1455949285
            slide-thumb-59=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-59-320.jpg?cb=1455949285
            slide-thumb-60=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-60-320.jpg?cb=1455949285
            slide-thumb-61=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-61-320.jpg?cb=1455949285
            slide-thumb-62=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-62-320.jpg?cb=1455949285
            slide-thumb-63=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-63-320.jpg?cb=1455949285
            slide-thumb-64=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-64-320.jpg?cb=1455949285
            slide-thumb-65=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-65-320.jpg?cb=1455949285
            slide-thumb-66=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-66-320.jpg?cb=1455949285
            slide-thumb-67=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-67-320.jpg?cb=1455949285
            slide-thumb-68=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-68-320.jpg?cb=1455949285
            slide-thumb-69=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-69-320.jpg?cb=1455949285
            slide-thumb-70=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-70-320.jpg?cb=1455949285
            slide-thumb-71=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-71-320.jpg?cb=1455949285
            slide-thumb-72=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-72-320.jpg?cb=1455949285
            slide-thumb-73=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-73-320.jpg?cb=1455949285
            slide-thumb-74=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-74-320.jpg?cb=1455949285
            slide-thumb-75=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-75-320.jpg?cb=1455949285
            slide-thumb-76=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-76-320.jpg?cb=1455949285
            slide-thumb-77=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-77-320.jpg?cb=1455949285
            slide-thumb-78=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-78-320.jpg?cb=1455949285
            slide-thumb-79=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-79-320.jpg?cb=1455949285
            slide-thumb-80=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-80-320.jpg?cb=1455949285
            slide-thumb-81=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-81-320.jpg?cb=1455949285
            slide-thumb-82=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-82-320.jpg?cb=1455949285
            slide-thumb-83=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-83-320.jpg?cb=1455949285
            slide-thumb-84=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-84-320.jpg?cb=1455949285
            slide-thumb-85=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-85-320.jpg?cb=1455949285
            slide-thumb-86=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-86-320.jpg?cb=1455949285
            slide-thumb-87=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-87-320.jpg?cb=1455949285
            slide-thumb-88=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-88-320.jpg?cb=1455949285
            slide-thumb-89=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-89-320.jpg?cb=1455949285
            slide-thumb-90=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-90-320.jpg?cb=1455949285
            slide-thumb-91=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-91-320.jpg?cb=1455949285
            slide-thumb-92=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-92-320.jpg?cb=1455949285
            slide-thumb-93=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-93-320.jpg?cb=1455949285
            slide-thumb-94=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-94-320.jpg?cb=1455949285
            slide-thumb-95=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-95-320.jpg?cb=1455949285
            slide-thumb-96=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-96-320.jpg?cb=1455949285
            slide-thumb-97=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-97-320.jpg?cb=1455949285
            slide-thumb-98=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-98-320.jpg?cb=1455949285
            slide-thumb-99=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-99-320.jpg?cb=1455949285
            slide-thumb-100=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-100-320.jpg?cb=1455949285
            slide-thumb-101=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-101-320.jpg?cb=1455949285
            slide-thumb-102=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-102-320.jpg?cb=1455949285
            slide-thumb-103=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-103-320.jpg?cb=1455949285
            slide-thumb-104=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-104-320.jpg?cb=1455949285
            slide-thumb-105=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-105-320.jpg?cb=1455949285
            slide-thumb-106=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-106-320.jpg?cb=1455949285
            slide-thumb-107=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-107-320.jpg?cb=1455949285
            slide-thumb-108=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-108-320.jpg?cb=1455949285
            slide-thumb-109=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-109-320.jpg?cb=1455949285
            slide-thumb-110=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-110-320.jpg?cb=1455949285
            slide-thumb-111=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-111-320.jpg?cb=1455949285
            slide-thumb-112=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-112-320.jpg?cb=1455949285
            slide-thumb-113=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-113-320.jpg?cb=1455949285
            slide-thumb-114=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-114-320.jpg?cb=1455949285
            slide-thumb-115=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-115-320.jpg?cb=1455949285
            slide-thumb-116=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-116-320.jpg?cb=1455949285
            slide-thumb-117=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-117-320.jpg?cb=1455949285
            slide-thumb-118=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-118-320.jpg?cb=1455949285
            slide-thumb-119=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-119-320.jpg?cb=1455949285
            slide-thumb-120=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-120-320.jpg?cb=1455949285
            slide-thumb-121=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-121-320.jpg?cb=1455949285
            slide-thumb-122=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-122-320.jpg?cb=1455949285
            slide-thumb-123=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-123-320.jpg?cb=1455949285
            slide-thumb-124=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-124-320.jpg?cb=1455949285
            slide-thumb-125=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-125-320.jpg?cb=1455949285
            slide-thumb-126=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-126-320.jpg?cb=1455949285
            slide-thumb-127=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-127-320.jpg?cb=1455949285
            slide-thumb-128=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-128-320.jpg?cb=1455949285
            slide-thumb-129=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-129-320.jpg?cb=1455949285
            slide-thumb-130=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-130-320.jpg?cb=1455949285
            slide-thumb-131=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-131-320.jpg?cb=1455949285
            slide-thumb-132=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-132-320.jpg?cb=1455949285
            slide-thumb-133=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-133-320.jpg?cb=1455949285
            slide-thumb-134=http://image.slidesharecdn.com/mysql-160220062031/85/mysql-134-320.jpg?cb=1455949285
      >
      <span class="j-slidecount-label slidecount-label">1</span>
    </div>
    <div class="progress-tooltip-caret"></div>
  </div>
</div>
<div class="progress-bar-spacing"></div>



<div class="j-tools bot-actions">
</div><!-- .bot-actions -->


  <div class="j-tools bot-actions">
    <a data-tooltip
      aria-haspopup="true"
      style="display: none"
      class="j-tooltip j-download action-download has-tip"
      title="Save this presentation"
      href="/login?from_source=%2Fyoku0825%2Fmysql-58490400%3Ffrom_action%3Dsave&amp;from=download&amp;layout=foundation"
      data-target="#login_modal"
      data-placement="top">
      <i class="fa fa-download fa-lg" style="margin-top: 1px;"></i>
    </a>
  </div>




  <div class="nav">
      <button id="btnPrevious" title="Previous Slide">
        <div class="j-prev-btn arrow-left disabled"></div>
      </button>
    <label class="goToSlideLabel">
      <span id="current-slide" class="j-current-slide">1</span> of <span id="total-slides" class="j-total-slides">134</span>
    </label>
      <button id="btnNext" title="Next Slide">
        <div class="j-next-btn arrow-right"></div>
      </button>
  </div>



<div class="navActions">



    <button id="btnFullScreen" class="j-tooltip btnFullScreen" title="View Fullscreen">
      <span class="fa fa-stack">
        <i class="fa fa-expand fa-stack-1x"></i>
      </span>
    </button>
    <button id="btnLeaveFullScreen" class="j-tooltip btnLeaveFullScreen" title="Exit Fullscreen">
      <span class="fa-stack">
        <i class="fa fa-compress fa-stack-1x"></i>
      </span>
    </button>

</div>


    </div>
  </div>

  <div class="success-toast-wrapper hide"></div>

  <div class="image_maps"></div>
</div>

<div id="j-lead-form-placeholder" style="display:none">
</div>

            </div>
        </div>

        <div id="lastScreen" style="display: none;">
          <div class="lastScreen">
  <div class="jsplLastScreenOverlay j-last-screen-overlay"></div>
  <div class="pro-overlay j-lastscreen">
    <div class="proSharingText">Like this presentation? Why not share!</div>
    <ul class="lastActions j-last-screen-actions">
      <li class="share-cta j-share-cta lastscreen-share-cta"><a class="share-btn"><span class="lastScreen-sprite"></span>Share</a></li>
      <li class="email-cta j-email-cta"><a class="email-btn"><span class="lastScreen-sprite"></span>Email</a></li>
      <li class="replay last">
        <a class="replay-btn lastScreenReplay j-tooltip j-last-screen-replay" data-original-title="View again" title="View again">
          <span class="lastScreen-sprite">&nbsp;</span>
        </a>
      </li>
      <li class="close-btn lastScreen-sprite j-lastscreen-close">
        <a>&nbsp;</a>
      </li>
    </ul>
    <div class="related-presentations j-lastscreen-related">
      <ul class="presentation-list">
        <li>
         <a href="/graiz/design-and-development-better-together" title="Design and development better together" >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/design-and-development-better-together-160219022451-thumbnail.jpg?cb=1455917683" alt="Design and development better together" />
           <span class="presentation-meta">
             <span class="title">Design and development better together</span>
             <span class="author">by&nbsp;Greg Raiz</span>
             <span class="view-count">4571&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/mikecrabb/introduction-to-development-for-the-internet" title="Introduction to Development for the..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/introduction-to-development-160219134437-thumbnail.jpg?cb=1455917551" alt="Introduction to Development for the..." />
           <span class="presentation-meta">
             <span class="title">Introduction to Development for the...</span>
             <span class="author">by&nbsp;Mike Crabb</span>
             <span class="view-count">1663&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/GlobalCollect/ingenico-e-payments-infographic-valentines-day" title="Valentine&#x27;s Day" >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_cropped_thumbnails/ingenicoepaymentsinfographicvalentinesday-160219102315/thumbnail-small.jpg?cb=1455902906" alt="Valentine&#x27;s Day" />
           <span class="presentation-meta">
             <span class="title">Valentine&#x27;s Day</span>
             <span class="author">by&nbsp;Ingenico ePayments</span>
             <span class="view-count">1311&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/Socialab/selfies-are-dead-long-live-the-user-generated-content" title="Selfies are dead. Long live the use..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/allthings16final-160219093033-thumbnail.jpg?cb=1455902866" alt="Selfies are dead. Long live the use..." />
           <span class="presentation-meta">
             <span class="title">Selfies are dead. Long live the use...</span>
             <span class="author">by&nbsp;Socialab</span>
             <span class="view-count">3018&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/tomrichey/trump-and-hitler-compared" title="Trump and Hitler Compared" >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/trump-and-hitler-compared-160219141802-thumbnail.jpg?cb=1455902529" alt="Trump and Hitler Compared" />
           <span class="presentation-meta">
             <span class="title">Trump and Hitler Compared</span>
             <span class="author">by&nbsp;Tom Richey</span>
             <span class="view-count">2013&nbsp;views</span>
           </span>
         </a>
        </li>
        <li>
         <a href="/HubSpot/zero-to-ipo-lessons-from-unlikely-story-of-hubspot" title="Zero to IPO: Lessons From Unlikely ..." >
           <img class="j-thumbnail" data-original="//cdn.slidesharecdn.com/ss_thumbnails/saastrdharmesh2016-160219150149-thumbnail.jpg?cb=1455902427" alt="Zero to IPO: Lessons From Unlikely ..." />
           <span class="presentation-meta">
             <span class="title">Zero to IPO: Lessons From Unlikely ...</span>
             <span class="author">by&nbsp;HubSpot</span>
             <span class="view-count">11240&nbsp;views</span>
           </span>
         </a>
        </li>
      </ul>
    </div>

  </div> <!-- end of div class pro-overlay -->
  <div class="j-modal-share modal-share mobile-hide" style="display: none;" id="last-screen-modal-share" data-ga-track-category="" data-ga-track-action="">
  <div class="j-modal-popup modal-popup">
    <div class="j-modal-close modal-close"></div>
    <div class="modal-content-wrapper">
      <div class="j-modal-content modal-content" id="modal-content" data-slideshowid="">
        <header class="j-tabs tabs">
          <a id="button-share-tab" class="selected j-button-share-tab">Share SlideShare</a>
          <hr class="divider"/>
        </header>
        <div class="j-share-tab share-tab">
          <div>
            <ul class="j-share-social-list share-social-list" data-canonical-url="http://www.slideshare.net/yoku0825/mysql-58490400">
              <li class="facebook" data-network="facebook">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow" data-url="http://www.slideshare.net/yoku0825/mysql-58490400" title="Share on Facebook">Facebook</a>
                </div>
              </li>
              <li class="twitter" data-network="twitter">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow"  data-url="http://www.slideshare.net/yoku0825/mysql-58490400" data-text="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション #mysql" data-related="" data-via="SlideShare" title="Tweet on Twitter">Twitter</a>
                </div>
              </li>
              <li class="linkedin" data-network="linkedin">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow" data-url="http://www.slideshare.net/yoku0825/mysql-58490400" data-text="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション by yoku0825 via slideshare" title="Share on Linkedin">LinkedIn</a>
                </div>
              </li>
              <li class="googleplus" data-network="googleplus">
                <div class="social-hover">
                  <a class="share-link" rel="nofollow" data-url="http://www.slideshare.net/yoku0825/mysql-58490400" title="Share on Google+">Google+</a>
                </div>
              </li>
            </ul>
          </div>
          <div class="section share-email">
            <span class="header">Email</span>
            <form id="share-email-form" class="j-share-email-form">
              <input id="share-email-to" data-ga="to" class="j-share-email-to j-email-clear j-share-expand-trigger" name="recipients" placeholder="Enter email addresses"></input>
              <div class="share-email-expand j-share-expand">
                <input id="share-email-name" data-ga="name" class="j-share-email-name j-email-clear" name="name" type="text" placeholder="from…"></input>
                <textarea id="share-email-msg" data-ga="msg" class="j-share-email-msg j-email-clear" name="msg" placeholder="add a message…"></textarea>
                <span class="j-email-flash email-flash"></span>
                <input id="share-email-send" data-ga="send" class="j-share-email-send button btn btn-inverse" type="submit" value="Send" />
                <div style="clear:both"></div>
              </div>
            </form>
            <div id="email-sent" class="j-email-sent section"><div>
              <span class="success-text">Email sent successfully!</span></div>
            </div>
          </div>
          <div class="j-share-embed section share-embed">
            <span class="header">Embed</span>
            <textarea id="share-embed-link" class="j-share-embed-link j-share-expand-trigger" readonly data-ga="link"></textarea>
            <div class="share-embed-options j-share-expand">
              <div class="embed-size">
                <span class="title">Size (px)</span>
                <select class="j-embed-size-picker embed-size-picker j-update-embed" id="embed-size-picker" data-ga="size-picker"></select>
              </div>
                <div class="embed-start">
                  <span class="title">Start on</span>
                  <select class="j-embed-start-picker embed-start-picker j-update-embed" id="embed-start-picker" data-ga="start-picker"></select>
                </div>
              <div class="embed-show-related" style="display:none">
                <input type="checkbox" name="related-content" checked="checked" class="j-embed-related-cbox embed-related-cbox j-update-embed" data-ga="related">
                <span>Show related SlideShares at end</span>
              </div>
            </div>
          </div>
          <div class="wordpress-container section">
            <span class="header">WordPress Shortcode</span>
            <input type="text" name="embed-code" id="share-embed-wp" value="" readonly="readonly" class="j-share-embed-wp text quiet h-wpembedcode j-share-expand-trigger" data-ga="wp-link">
          </div>
          <div class="share-link-container section">
            <span class="header">Link</span>
            <input type="input" class="j-share-link-url j-share-expand-trigger" id="share-link-url" data-ga="link" readonly></input>
          </div>
        </div>
      </div>
    </div>
  </div>
</div><!-- share modal -->

</div><!-- last screen ends here -->

        </div>
      </div>

      <div class="slideshow-info-container" itemscope itemtype="http://schema.org/MediaObject">


        <div class="slideshow-info">
          <meta itemprop="inLanguage" content="en">
          <meta itemprop="image" content="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-1-638.jpg?cb=1455949285">
          <meta itemprop="thumbnailUrl" content="http://cdn.slidesharecdn.com/ss_thumbnails/mysql-160220062031-thumbnail.jpg?cb=1455949285">
          <meta itemprop="embedURL" content="https://www.slideshare.net/slideshow/embed_code/key/GsV4Z3O6m7f3eJ">
          <meta itemprop="playerType" content="HTML5">
          <meta itemprop="interactionCount" content="UserComments:0">
          <meta itemprop="interactionCount" content="UserLikes:4">
          <meta itemprop="interactionCount" content="UserDownloads:5">
          <meta itemprop="interactionCount" content="UserPageVisits:898">
          <meta itemprop="interactionCount" content="UserPlays:898">
          <meta itemprop="interactionCount" content="UserPlusOnes:0" id="meta-google">
          <meta itemprop="interactionCount" content="UserTweets:0" id="meta-twitter">


          <div class="slideshow-title-container row add-padding-right">
            <div class="small-10 columns">
              <h1 class="notranslate slideshow-title-text" itemprop="headline">
                <span class="j-title-breadcrumb">
                  イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
                </span>
              </h1>
            </div>

            <div class="small-2 columns text-right format-views" data-views="views">
                <span class="notranslate">
                  898<br>
                </span>
                <span class="pippin-data hide">  -1</span>
            </div>
          </div>

          <ul id="slideshow-actions" class="slideshow-actions">
            <li class="item-action">
              <button class="tiny art-deco share" data-action="share">Share</button>
            </li>
              <li class="item-action">
                <button class="tiny art-deco like button" data-action="like" href="/signup?login_source=slideview.popup.like&amp;from=favorite&amp;layout=foundation&amp;from_source=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400" rel="nofollow">Like</button>
              </li>
              <li class="item-action">
                <button class="tiny art-deco download button" data-action="download" href="/login?from_source=%2Fyoku0825%2Fmysql-58490400%3Ffrom_action%3Dsave&amp;from=download&amp;layout=foundation" rel="nofollow">
                  Download
                </button>
              </li>
          </ul>


          <div class="author-container add-padding-right" itemprop="author" itemscope itemtype="http://schema.org/Person">

            <div class="left author-thumbnail">
              <a href="/yoku0825?utm_campaign=profiletracking&amp;utm_medium=sssite&amp;utm_source=ssslideview" class="author-photo-wrapper" title="yoku0825" itemprop="url">
                <img alt="yoku0825" class="author-photo" itemprop="image" src="//cdn.slidesharecdn.com/profile-photo-yoku0825-48x48.jpg?cb=1455949201" />
              </a>
            </div>

            <div class="author-text">
              <h2 style="display:inline;">
                <a class="j-author-name"
                  title="yoku0825"
                  rel="author"
                  href="/yoku0825?utm_campaign=profiletracking&amp;utm_medium=sssite&amp;utm_source=ssslideview"
                  data-ga-cat="bigfoot_slideview"
                  data-ga-action="authorlinkclick">
                  <span itemprop="name">yoku0825</span></a></h2>

              <div class="author-cta-container">

                  <div class="follow-container">
                    <span class="j-follow " data-contactee-id="51862050">

                        <a class="follow-btn" data-contactee="51862050" href="/signup?login_source=slideview.popup.follow&from=addcontact&from_source=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400">
                          <i class="fa fa-plus"></i> Follow
                        </a>

                      <div class="j-follow-progress indicator">
                        <i class="fa fa-spinner fa-spin"></i>
                      </div>
                    </span>
                  </div>
              </div>
            </div>
          </div>

            <div class="social-share-container add-padding-right">
              <button id="sv-linkedin-share" class="j-share-item button-li tiny radius" data-network="linkedin" data-ga-action="viralshareLinkedIn_click">
                <i class="fa fa-linkedin fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">0</span>
              </button>

              <button id="sv-facebook-share" class="j-share-item button-fb tiny radius" data-network="facebook" data-ga-action="viralsharefacebook">
                <i class="fa fa-facebook fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">0</span>
              </button>

              <button id="sv-twitter-share" class="j-share-item button-tw tiny radius" data-network="twitter" data-ga-action="viralsharetwitter_click">
                <i class="fa fa-twitter fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">0</span>
              </button>

              <button id="sv-google-share" class="j-share-item button-go tiny radius" data-network="google" data-ga-action="viralshareGooglePlusOne">
                <i class="fa fa-google-plus fa-lg"></i>
                <span class="separator"></span>
                <span class="j-share-count share-count">0</span>
              </button>
            </div>

          <p>
            <small>
              Published on <time datetime="Feb 20, 2016" itemprop="datePublished">Feb 20, 2016</time>
            </small>
          </p>

            <div class="slideshow-description-container add-padding-right">
              <div class="description row"
                data-ga-cat="bigfoot_slideview"
                data-ga-action="description>more">
                <div class="large-10 columns">
                  <p id="slideshow-description-paragraph" class="notranslate">
                    2016&#x2F;02&#x2F;20 第2回 MySQL・PostgreSQLユーザーグループ（MyNA・JPUG）合同DB勉強会 in 東京
                  </p>
                </div>
                <div class="large-2 columns">
                  <button class="j-expand-text empty_btn_design">
                    ...<i class="fa fa-caret-down"></i>
                  </button>
                </div>
              </div>
            </div>


            <div class="categories-container add-padding-right">
              <span>Published in:</span>
                <a rel="nofollow" href="/featured/category/technology">Technology</a><span class="comma"></span>
            </div>



        </div>


        <div class="slideshow-tabs-container show-for-medium-up">
          <dl class="tabs" data-tab>
              <dd class="active">
                <a href="#comments-panel">
                  <i class="fa fa-comment"></i>
                    0 Comments
                </a>
              </dd>

            <dd class="">
              <a href="#likes-panel">
                <i class="fa fa-heart"></i>
                <span class="j-favs-count">
                  4 Likes
                </span>
              </a>
            </dd>


            <dd>
              <a href="#stats-panel" class="j-stats-tab">
                <i class="fa fa-bar-chart"></i>
                Statistics
              </a>
            </dd>

            <dd>
              <a href="#notes-panel">
                <i class="fa fa-file-text"></i>
                Notes
              </a>
            </dd>
          </dl>

          <div class="tabs-content">

              <div id="comments-panel" class="content active commentsWrapper commentsNotes">
                <ul class="hide">

                  <li id="commentsTemplate">
                    <div class="row">
                      <div class="small-1 columns thumbnail">
                        <a class="j-author-photo notranslate commenter" title="Commenter Title" rel="nofollow">
                          <img class="nickname"
                            alt="Full Name"
                            src="//public.slidesharecdn.com/b/images/user-48x48.png" />
                        </a>
                      </div>

                      <div class="small-11 columns">
                        <a class="j-author-photo notranslate commenter" title="Commenter Title" rel="nofollow">
                          <span class="j-username notranslate" data-ga-cat="bigfoot_slideview" data-ga-action="commentuserlinkclick">Full Name</span>
                          <span class="bioStub notranslate">
                            <span class="j-commenter-role"></span>
                            <span class="j-commenter-org"></span>
                          </span>
                        </a>

                        <div class="commentText notranslate">
                          Comment goes here.
                        </div>

                        <time class="commentTimestamp small-text lighter-color-text">12 hours ago</time>&nbsp;&nbsp;

                        <span class="commentMeta">
                          <span class="commentActions small-text">
                            <a href="#" class="j-action-delete">Delete</a>
                            <a href="#" class="j-reply">Reply</a>
                            <a href="#" class="j-action-spam">Spam</a>
                            <a href="#" class="j-action-block">Block</a>
                          </span>
                        </span>

                        <div id="confirmDialog" class="panel callout block-message">
                          <div>
                            <span class="title">Are you sure you want to</span>
                            <a href="#" id="yes">Yes</a>
                            <a href="#" id="no">No</a>
                          </div>
                        </div>

                        <div id="messageDialog" class="block-message">
                          Your message goes here
                        </div>

                        <span class="j-loading" style="display: none;">
                          <i class="fa fa-spinner fa-spin"></i>
                        </span>
                      </div>
                    </div>
                  </li>
                </ul>


                  <form action="#" method="post" accept-charset="utf-8" id="postComment" class="j-comment-post postComment">
                    <div class="row">
                      <div class="small-1 columns thumbnail">
                          <div class="left">
                            <img class="nickname" alt="no profile picture user"
                              src="//public.slidesharecdn.com/b/images/user-48x48.png" />
                          </div>
                      </div>

                      <div class="small-11 columns">
                        <div class="row collapse">
                          <div class="small-10 columns">
                            <input class="j-post-comment-input comment-text" type="text" placeholder="Share your thoughts…" />
                          </div>
                          <div class="small-2 columns">
                              <a id="login-provider-slideshare" class="postfix" rel="nofollow" href="/signup?login_source=slideview.popup.comment&from=comments&from_source=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400">
                                <button type="button" class="postfix">Post</button>
                              </a>
                          </div>
                        </div>
                      </div>
                    </div>
                  </form>

                <ul id="commentsList" class="user-list no-bullet">
                    <li>
                      <p class="empty-stat-box text-center">
                        <em>Be the first to comment</em>
                      </p>
                    </li>
                </ul>

              </div>


            <div class="content" id="likes-panel">
              <ul id="favsList" class="j-favs-list notranslate user-list no-bullet" itemtype="http://schema.org/UserLikes" itemscope>
                    <li itemtype="http://schema.org/Person" itemscope>
                      <div class="row">

                        <div class="small-1 columns thumbnail">
                          <a class="j-author-photo notranslate"
                            title="shimezihiziki"
                            itemprop="url"
                            rel="nofollow"
                            href="/shimezihiziki?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <img itemprop="image"
                              class="j-lazy-thumb"
                              alt="shimezihiziki"
                              src="//public.slidesharecdn.com/b/images/user-48x48.png"
                              data-original="//public.slidesharecdn.com/b/images/user-48x48.png" />
                          </a>
                        </div>

                        <div class="small-11 columns">

                          <a class="favoriter notranslate"
                            title="shimezihiziki"
                            rel="nofollow"
                            href="/shimezihiziki?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <span class="j-username notranslate" data-ga-cat="bigfoot_slideview" data-ga-action="favoriteuserlinkclick" itemprop="name">Shimezi Hiziki</span>
                            <span class="bioStub notranslate small-text light-color-text">
                              <span class="j-favoriter-role">
                                
                                <span></span>
                              </span>
                              <span class="j-favoriter-org">
                                 at 
                                <span>東芝ソリューション</span>
                              </span>
                            </span>

                            <div class="j-tags favTags"></div>

                            <time class="commentTimestamp small-text lighter-color-text">
                              1 hour ago
                            </time>
                          </a>
                        </div>
                      </div>
                    </li>
                    <li itemtype="http://schema.org/Person" itemscope>
                      <div class="row">

                        <div class="small-1 columns thumbnail">
                          <a class="j-author-photo notranslate"
                            title="masayataji"
                            itemprop="url"
                            rel="nofollow"
                            href="/masayataji?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <img itemprop="image"
                              class="j-lazy-thumb"
                              alt="masayataji"
                              src="//public.slidesharecdn.com/b/images/user-48x48.png"
                              data-original="//cdn.slidesharecdn.com/profile-photo-masayataji-48x48.jpg" />
                          </a>
                        </div>

                        <div class="small-11 columns">

                          <a class="favoriter notranslate"
                            title="masayataji"
                            rel="nofollow"
                            href="/masayataji?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <span class="j-username notranslate" data-ga-cat="bigfoot_slideview" data-ga-action="favoriteuserlinkclick" itemprop="name">Masaya Taji</span>
                            <span class="bioStub notranslate small-text light-color-text">
                              <span class="j-favoriter-role">
                                
                                <span></span>
                              </span>
                              <span class="j-favoriter-org">
                                 at 
                                <span>ヤフー</span>
                              </span>
                            </span>

                            <div class="j-tags favTags"></div>

                            <time class="commentTimestamp small-text lighter-color-text">
                              2 hours ago
                            </time>
                          </a>
                        </div>
                      </div>
                    </li>
                    <li itemtype="http://schema.org/Person" itemscope>
                      <div class="row">

                        <div class="small-1 columns thumbnail">
                          <a class="j-author-photo notranslate"
                            title="osamutkd"
                            itemprop="url"
                            rel="nofollow"
                            href="/osamutkd?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <img itemprop="image"
                              class="j-lazy-thumb"
                              alt="osamutkd"
                              src="//public.slidesharecdn.com/b/images/user-48x48.png"
                              data-original="//cdn.slidesharecdn.com/profile-photo-osamutkd-48x48.jpg" />
                          </a>
                        </div>

                        <div class="small-11 columns">

                          <a class="favoriter notranslate"
                            title="osamutkd"
                            rel="nofollow"
                            href="/osamutkd?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <span class="j-username notranslate" data-ga-cat="bigfoot_slideview" data-ga-action="favoriteuserlinkclick" itemprop="name">Osamu Takeda</span>
                            <span class="bioStub notranslate small-text light-color-text">
                              <span class="j-favoriter-role">
                                
                                <span></span>
                              </span>
                              <span class="j-favoriter-org">
                                
                                <span></span>
                              </span>
                            </span>

                            <div class="j-tags favTags"></div>

                            <time class="commentTimestamp small-text lighter-color-text">
                              4 hours ago
                            </time>
                          </a>
                        </div>
                      </div>
                    </li>
                    <li itemtype="http://schema.org/Person" itemscope>
                      <div class="row">

                        <div class="small-1 columns thumbnail">
                          <a class="j-author-photo notranslate"
                            title="TokyoIncidents"
                            itemprop="url"
                            rel="nofollow"
                            href="/TokyoIncidents?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <img itemprop="image"
                              class="j-lazy-thumb"
                              alt="TokyoIncidents"
                              src="//public.slidesharecdn.com/b/images/user-48x48.png"
                              data-original="//cdn.slidesharecdn.com/profile-photo-TokyoIncidents-48x48.jpg" />
                          </a>
                        </div>

                        <div class="small-11 columns">

                          <a class="favoriter notranslate"
                            title="TokyoIncidents"
                            rel="nofollow"
                            href="/TokyoIncidents?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideshow">

                            <span class="j-username notranslate" data-ga-cat="bigfoot_slideview" data-ga-action="favoriteuserlinkclick" itemprop="name">Nomo Kiyoshi</span>
                            <span class="bioStub notranslate small-text light-color-text">
                              <span class="j-favoriter-role">
                                
                                <span></span>
                              </span>
                              <span class="j-favoriter-org">
                                
                                <span></span>
                              </span>
                            </span>

                            <div class="j-tags favTags"></div>

                            <time class="commentTimestamp small-text lighter-color-text">
                              6 hours ago
                            </time>
                          </a>
                        </div>
                      </div>
                    </li>
              </ul>

            </div>

            <div class="content" id="downloads-panel">
                <div class="empty-stat-box">No Downloads</div>
            </div>

            <div class="content" id="stats-panel">
              <div class="row info-stats">
                <div class="small-4 columns">
                  <strong>Views</strong>
                  <div class="row">
                    <div class="small-8 columns stat-label">Total views</div>
                    <div class="small-4 columns stat-value text-right">
                      898
                    </div>

                    <div class="small-8 columns stat-label">On SlideShare</div>
                    <div class="j-slideshare-views small-4 columns stat-value text-right ">
                      0
                    </div>

                    <div class="small-8 columns stat-label">From Embeds</div>
                    <div class="j-embed-views small-4 columns stat-value text-right">
                      0
                    </div>

                    <div class="small-8 columns stat-label">Number of Embeds</div>
                    <div class="small-4 columns stat-value text-right">
                      0
                    </div>
                  </div>
                </div>

                <div class="small-4 columns">
                  <strong>Actions</strong>
                  <div class="row">
                    <div class="small-8 columns stat-label">Shares</div>
                    <div class="small-4 columns stat-value text-right j-total-shares">0</div>

                    <div class="small-8 columns stat-label">Downloads</div>
                    <div class="small-4 columns stat-value text-right ">
                      5
                    </div>

                    <div class="small-8 columns stat-label">Comments</div>
                    <div class="small-4 columns stat-value text-right">
                      0
                    </div>

                    <div class="small-8 columns stat-label">Likes</div>
                    <div class="small-4 columns stat-value text-right">
                      4
                    </div>
                  </div>
                </div>

                <div class="small-4 columns">
                  <strong>
                    Embeds
                    <span class="j-embed-views notranslate from-embed hint">0</span>
                  </strong>

                  <div class="j-info-embeds">
                      <div class="j-no-embeds no-embeds">No embeds</div>
                    <div class="row no-translate j-embeds-container" style="max-height:120px; overflow:auto;">
                    </div>
                  </div>
                </div>
              </div>

              <hr>

              <div class="row">
                <div class="small-12 columns">
                  <strong class="copy-in-aria-label" aria-label="Report content"></strong><br>
                  <div class="flag flag-inappropriate">
                    <a class="action-flag" rel="nofollow" href="/signup?login_source=slideview.popup.flags&amp;from=flagss&amp;from_source=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400">
                      <span class="j-tooltip flagged copy-in-aria-label" title="This Presentation has been flagged" aria-label="Flagged as inappropriate"></span>
                      <span class="j-tooltip flag copy-in-aria-label" title="Flag this presentation as inappropriate" aria-label="Flag as inappropriate"></span>
                    </a>
                  </div>

                  <div>
                    <a href="http://www.linkedin.com/legal/copyright-policy" rel="nofollow" class="copy-in-aria-label" aria-label="Copyright Complaint"></a>
                  </div>
                </div>
              </div>
            </div>

            <div class="content" id="notes-panel">
              <div id="empty-note" class="empty-stat-box">No notes for slide</div>
            </div>
          </div>
        </div>

            <div class="notranslate transcript add-padding-right j-transcript"  >
              <h3 class="transcript-header">
                  <i class="fa fa-file-o"></i>
                  イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
              </h3>
              <ol class="j-transcripts transcripts no-bullet no-style" itemprop="text">
                    <li>
      1.
    この余⽩はタイトルを書くには狭すぎ
る
余⽩じゃなくてタイトル欄なんだけどな
2016/02/20
yoku0825
第2回 MySQL・PostgreSQLユーザーグループ合同DB勉強会 in 東京
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-2-638.jpg?cb=1455949285" title="おしながき
「明⽇使えない⾖知識」その1 （予告）
「明⽇使えない⾖知識」その2
「明⽇使えない⾖知識」その3
「明⽇..." target="_blank">
        2.
      </a>
    おしながき
「明⽇使えない⾖知識」その1 （予告）
「明⽇使えない⾖知識」その2
「明⽇使えない⾖知識」その3
「明⽇使えない⾖知識」その4
「明⽇使えない⾖知識」その1 （本編）
1/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-3-638.jpg?cb=1455949285" title="「明⽇使えな
い⾖知識」そ
の1（予告）
2/133
 " target="_blank">
        3.
      </a>
    「明⽇使えな
い⾖知識」そ
の1（予告）
2/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-4-638.jpg?cb=1455949285" title="NOW関数は現
在時刻を返さ
ない
3/133
 " target="_blank">
        4.
      </a>
    NOW関数は現
在時刻を返さ
ない
3/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-5-638.jpg?cb=1455949285" title="真相は番組の後
半、チャンネル
はそのまま︕
4/133
 " target="_blank">
        5.
      </a>
    真相は番組の後
半、チャンネル
はそのまま︕
4/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-6-638.jpg?cb=1455949285" title="「明⽇使えな
い⾖知識」そ
の2
5/133
 " target="_blank">
        6.
      </a>
    「明⽇使えな
い⾖知識」そ
の2
5/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-7-638.jpg?cb=1455949285" title="MySQL 5.7
2013/04 MySQL 5.7.1 DMR11
2015/03 MySQL 5.7.6 DMR..." target="_blank">
        7.
      </a>
    MySQL 5.7
2013/04 MySQL 5.7.1 DMR11
2015/03 MySQL 5.7.6 DMR16
2015/04 MySQL 5.7.7 RC
2015/08 MySQL 5.7.8 RC
2015/10 MySQL 5.7.9 GA
2015/12 MySQL 5.7.10 GA
2016/02 MySQL 5.7.11 GA
6/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-8-638.jpg?cb=1455949285" title="MySQL 5.7
2015/04 MySQL 5.7.7 RC
ここまではまあいい
2015/08 MySQL 5...." target="_blank">
        8.
      </a>
    MySQL 5.7
2015/04 MySQL 5.7.7 RC
ここまではまあいい
2015/08 MySQL 5.7.8 RC
JSON型, virtual generated columnの拡張, InnoDB Page
Compression
2015/10 MySQL 5.7.9 GA
innodb_default_row_format, JSON -&gt; operator,
innodb_numa_interleave
2015/12 MySQL 5.7.10 GA
Bug Fix
2016/02 MySQL 5.7.11 GA
InnoDB Tablespace Encryption 7/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-9-638.jpg?cb=1455949285" title="MySQL 5.7
2015/04 MySQL 5.7.7 RC
ここまではまあいい
2015/08 MySQL 5...." target="_blank">
        9.
      </a>
    MySQL 5.7
2015/04 MySQL 5.7.7 RC
ここまではまあいい
2015/08 MySQL 5.7.8 RC
新機能!!
2015/10 MySQL 5.7.9 GA
新機能!!
2015/12 MySQL 5.7.10 GA
Bug Fix
2016/02 MySQL 5.7.11 GA
新機能!!
8/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-10-638.jpg?cb=1455949285" title="General
Available #
とは
9/133
 " target="_blank">
        10.
      </a>
    General
Available #
とは
9/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-11-638.jpg?cb=1455949285" title="「明⽇使えな
い⾖知識」そ
の3
10/133
 " target="_blank">
        11.
      </a>
    「明⽇使えな
い⾖知識」そ
の3
10/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-12-638.jpg?cb=1455949285" title="講演のタイトル
「イルカ㌠からゾウ㌠に伝えたいMySQLのレプリケーションの
仕組み」とか話したかったんですけどかじや..." target="_blank">
        12.
      </a>
    講演のタイトル
「イルカ㌠からゾウ㌠に伝えたいMySQLのレプリケーションの
仕組み」とか話したかったんですけどかじやまさんから5.7にし
るって⾔われてるので残念ながら5.7の何かを話します（仮） と
思ったんですけどやっぱりイルカ㌠からゾウ㌠に伝えたい
MySQLレプリケーションの話をします
11/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-13-638.jpg?cb=1455949285" title="意訳
12/133
 " target="_blank">
        13.
      </a>
    意訳
12/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-14-638.jpg?cb=1455949285" title="MySQL 5.7の話は
もう飽きたんでレ
プリケーションの
話をします
13/133
 " target="_blank">
        14.
      </a>
    MySQL 5.7の話は
もう飽きたんでレ
プリケーションの
話をします
13/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-15-638.jpg?cb=1455949285" title="ことのあらまし
14/133
 " target="_blank">
        15.
      </a>
    ことのあらまし
14/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-16-638.jpg?cb=1455949285" title="ことのあらまし
15/133
 " target="_blank">
        16.
      </a>
    ことのあらまし
15/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-17-638.jpg?cb=1455949285" title="ことのあらまし
16/133
 " target="_blank">
        17.
      </a>
    ことのあらまし
16/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-18-638.jpg?cb=1455949285" title="ことのあらまし
17/133
 " target="_blank">
        18.
      </a>
    ことのあらまし
17/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-19-638.jpg?cb=1455949285" title="ことのあらまし
18/133
 " target="_blank">
        19.
      </a>
    ことのあらまし
18/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-20-638.jpg?cb=1455949285" title="ことのあらまし
19/133
 " target="_blank">
        20.
      </a>
    ことのあらまし
19/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-21-638.jpg?cb=1455949285" title="ことのあらまし
20/133
 " target="_blank">
        21.
      </a>
    ことのあらまし
20/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-22-638.jpg?cb=1455949285" title="ことのあらまし
21/133
 " target="_blank">
        22.
      </a>
    ことのあらまし
21/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-23-638.jpg?cb=1455949285" title="ことのあらまし
22/133
 " target="_blank">
        23.
      </a>
    ことのあらまし
22/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-24-638.jpg?cb=1455949285" title="ことのあらまし
23/133
 " target="_blank">
        24.
      </a>
    ことのあらまし
23/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-25-638.jpg?cb=1455949285" title="これはレプリケー
ション でしこたま
痛い目を⾒た の先
⼈ イルカ㌠から
24/133
 " target="_blank">
        25.
      </a>
    これはレプリケー
ション でしこたま
痛い目を⾒た の先
⼈ イルカ㌠から
24/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-26-638.jpg?cb=1455949285" title="これからレプリケー
ション で痛い目を⾒
る でできることが増
えていくゾウ㌠へ
25/133
 " target="_blank">
        26.
      </a>
    これからレプリケー
ション で痛い目を⾒
る でできることが増
えていくゾウ㌠へ
25/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-27-638.jpg?cb=1455949285" title="語らねばなる
まい（使命
感）
26/133
 " target="_blank">
        27.
      </a>
    語らねばなる
まい（使命
感）
26/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-28-638.jpg?cb=1455949285" title="というわけで
「明⽇使えない
⾖知識」その4
27/133
 " target="_blank">
        28.
      </a>
    というわけで
「明⽇使えない
⾖知識」その4
27/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-29-638.jpg?cb=1455949285" title="MySQLのレプ
リケーション
について
28/133
 " target="_blank">
        29.
      </a>
    MySQLのレプ
リケーション
について
28/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-30-638.jpg?cb=1455949285" title="＼こんにちは／
yoku0825＠とある企業のDBA
オラクれない-
ポスグれない-
マイエスキューエる-
家に帰ると..." target="_blank">
        30.
      </a>
    ＼こんにちは／
yoku0825＠とある企業のDBA
オラクれない-
ポスグれない-
マイエスキューエる-
家に帰ると
妻の夫-
せがれの⽗-
ムスメの⽗-
Twitter: @yoku0825
Blog: ⽇々の覚書
MyNA ML: ⽇本MySQLユーザ会
29/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-31-638.jpg?cb=1455949285" title="MyNAステッカー
デザインは堤井さん
今⽇持ってきてます。声かけてください。
30/133
 " target="_blank">
        31.
      </a>
    MyNAステッカー
デザインは堤井さん
今⽇持ってきてます。声かけてください。
30/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-32-638.jpg?cb=1455949285" title="MySQL年表
&lt; 5.0
知らない⼦ですね
5.0
2005/10〜2012/03
5.1
2008/11〜2013..." target="_blank">
        32.
      </a>
    MySQL年表
&lt; 5.0
知らない⼦ですね
5.0
2005/10〜2012/03
5.1
2008/11〜2013/12
5.5
2010/12〜2015/12
5.6
2013/02〜
5.7
31/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-33-638.jpg?cb=1455949285" title="レプリケーション年表
&lt; 5.0
3.23の頃から非同期レプリケーションがあった
5.1
⾏ベースレプリケーションフォ..." target="_blank">
        33.
      </a>
    レプリケーション年表
&lt; 5.0
3.23の頃から非同期レプリケーションがあった
5.1
⾏ベースレプリケーションフォーマット追加
5.5
準同期レプリケーションの追加
5.6
GTID、レプリケーション情報のInnoDBテーブル導⼊、マルチ
スレッドスレーブ(MTS)の追加、binlogのグループコミット
5.7
MTSの機能強化、グループコミットの機能強化、ロスレス準同
期レプリケーション 32/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-34-638.jpg?cb=1455949285" title="レプリケーションの動作原理
同じデータを持ったサーバーがあって
同じSQLを同じ順番で適⽤すれば
最終的に同じデータに..." target="_blank">
        34.
      </a>
    レプリケーションの動作原理
同じデータを持ったサーバーがあって
同じSQLを同じ順番で適⽤すれば
最終的に同じデータに戻るよね︖
という期待に基づいた、結果整合性モデル
33/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-35-638.jpg?cb=1455949285" title="レプリケーションのご法度
スレーブに更新をかけると「同じデータを持ったサーバー」
の前提が崩れる
循環レプリケーション..." target="_blank">
        35.
      </a>
    レプリケーションのご法度
スレーブに更新をかけると「同じデータを持ったサーバー」
の前提が崩れる
循環レプリケーション…だと…︖-
非決定性関数を使うと「同じSQLを同じ順番で適⽤しても」
同じデータに戻らくなるよね︖
有名どころでSYSDATE, ユニークキーでORDER BYして
ないLIMIT
-
34/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-36-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
clientA
connection executor storage_..." target="_blank">
        36.
      </a>
    MySQLのレプリケーションアーキテクチャー
clientA
connection executor storage_engine
binlog binlog_dump
io_thread relaylog
slave_executorsql_thread binlog
storage_engine slave_connection clientB
master
slave
35/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-37-638.jpg?cb=1455949285" title="MySQLレプリケーション⽤語
バイナリーログ, binlog
リレーログ
Binlog Dump Thread
I/..." target="_blank">
        37.
      </a>
    MySQLレプリケーション⽤語
バイナリーログ, binlog
リレーログ
Binlog Dump Thread
I/Oスレッド, Receiver Thread
SQLスレッド, Applier Thread
36/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-38-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナ..." target="_blank">
        38.
      </a>
    MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dumpからイベントを受け取ってリレ
ーログに書く
4.
SQL Threadがリレーログからイベントを読み取って⾃⾝の
Executorを叩く
5.
37/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-39-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナ..." target="_blank">
        39.
      </a>
    MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dumpからイベントを受け取ってリレ
ーログに書く
4.
SQL Threadがリレーログからイベントを読み取って⾃⾝の
Executorを叩く
5.
38/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-40-638.jpg?cb=1455949285" title="Executorがストレージエンジンに書く
もちろんトランザクション対応はストレージエンジン依存
5.6まではコミット..." target="_blank">
        40.
      </a>
    Executorがストレージエンジンに書く
もちろんトランザクション対応はストレージエンジン依存
5.6まではコミットの時点でストレージエンジンのコミット
をしてしまっていた
5.7からはこの時点ではまだコミット されない
39/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-41-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナ..." target="_blank">
        41.
      </a>
    MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dumpからイベントを受け取ってリレ
ーログに書く
4.
SQL Threadがリレーログからイベントを読み取って⾃⾝の
Executorを叩く
5.
40/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-42-638.jpg?cb=1455949285" title="Executorがバイナリーログに書く
Executorから⾒たバイナリーログは binlogストレージエン
ジン
M..." target="_blank">
        42.
      </a>
    Executorがバイナリーログに書く
Executorから⾒たバイナリーログは binlogストレージエン
ジン
MySQLにもともと実装されているXAトランザクションを使
って⼆相コミット
binlog̲cacheにXA PREPAREしておいてXA COMMIT-
クラッシュしてもXA RECOVERはできない＞＜-
41/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-43-638.jpg?cb=1455949285" title="ストレージエンジンとして⾒たbinlog
A
binlog_cacheとsync_binlogによりアトミックっぽく振..." target="_blank">
        43.
      </a>
    ストレージエンジンとして⾒たbinlog
A
binlog_cacheとsync_binlogによりアトミックっぽく振る舞え
るけど厳密にAtomicじゃない
C
ストレージエンジン層がコミットをシリアライズしてくれるこ
とに依存
I
常にSERIALIZABLE
D
sync_binlog= 1なら⼀応Durable
42/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-44-638.jpg?cb=1455949285" title="バイナリーログのその他の使い道
PITR
シリアライズされた更新情報なのでPITRに使う-
SQLをパースして⾊々する..." target="_blank">
        44.
      </a>
    バイナリーログのその他の使い道
PITR
シリアライズされた更新情報なのでPITRに使う-
SQLをパースして⾊々する
テーブルごとのUPDATE回数を後追いで集計するとか-
中⾝を取り出して別のデータストアに⼊れるとか-
43/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-45-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナ..." target="_blank">
        45.
      </a>
    MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dumpからイベントを受け取ってリレ
ーログに書く
4.
SQL Threadがリレーログからイベントを読み取って⾃⾝の
Executorを叩く
5.
44/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-46-638.jpg?cb=1455949285" title="Binlog Dump Threadがバイナリーログを読む
fsyncしててもしてなくてもwriteされた時点から読め..." target="_blank">
        46.
      </a>
    Binlog Dump Threadがバイナリーログを読む
fsyncしててもしてなくてもwriteされた時点から読める
マスターのmysqldではクライアントからのコネクション扱
い
スレーブでSTART SLAVE =&gt; マスターで認証 =&gt;
ESTABLISH後はマスター側からsendtoできる
-
45/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-47-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナ..." target="_blank">
        47.
      </a>
    MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dumpからイベントを受け取ってリ
レーログに書く
4.
SQL Threadがリレーログからイベントを読み取って⾃⾝の
Executorを叩く
5.
46/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-48-638.jpg?cb=1455949285" title="I/O ThreadがBinlog Dumpからイベントを受け取って
リレーログに書く
ここからスレーブのmysqld..." target="_blank">
        48.
      </a>
    I/O ThreadがBinlog Dumpからイベントを受け取って
リレーログに書く
ここからスレーブのmysqld
Binlog Dumpから送り付けられたイベントをリレーログと
して書き込む
ちなみに、mysqlbinlog -Rも（マスターから⾒ると）I/Oス
レッドと同じ様に振る舞う
47/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-49-638.jpg?cb=1455949285" title="MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナ..." target="_blank">
        49.
      </a>
    MySQLのレプリケーションアーキテクチャー
Executorがストレージエンジンに書く1.
Executorがバイナリーログに書く2.
Binlog Dump Threadがバイナリーログを読む3.
I/O ThreadがBinlog Dumpからイベントを受け取ってリレ
ーログに書く
4.
SQL Threadがリレーログからイベントを読み取って⾃⾝
のExecutorを叩く
5.
48/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-50-638.jpg?cb=1455949285" title="SQL Threadがリレーログからイベントを読み取って⾃⾝
のExecutorを叩く
これによりマスターのExecu..." target="_blank">
        50.
      </a>
    SQL Threadがリレーログからイベントを読み取って⾃⾝
のExecutorを叩く
これによりマスターのExecutorがまるでスレーブの
Executorも叩いたかの様にデータが更新される
Executorはまたバイナリーログを吐くこともできる
49/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-51-638.jpg?cb=1455949285" title="binlogフォーマット
SBR
Statement Based Replication
RBR
Row Based ..." target="_blank">
        51.
      </a>
    binlogフォーマット
SBR
Statement Based Replication
RBR
Row Based Replication
MBR（あんまり⾔わない）
Mixed Based Replication
50/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-52-638.jpg?cb=1455949285" title="SBR
いわゆる MySQLのレプリケーション っぽいやつ
binlogに記録されるのはエンコードされた SQLステー..." target="_blank">
        52.
      </a>
    SBR
いわゆる MySQLのレプリケーション っぽいやつ
binlogに記録されるのはエンコードされた SQLステートメ
ント
イベントはステートメント単位-
MySQL 5.6とそれ以前のデフォルト
51/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-53-638.jpg?cb=1455949285" title="SBR
$ mysqlbinlog -R -h 127.0.0.1 -P 64057 -uroot --stop-ne..." target="_blank">
        53.
      </a>
    SBR
$ mysqlbinlog -R -h 127.0.0.1 -P 64057 -uroot --stop-never bin.00
0010
mysql57&gt; SET SESSION binlog_format= &#x27;STATEMENT&#x27;;
Query OK, 0 rows affected (0.00 sec)
mysql57&gt; INSERT INTO t1 VALUES (1, &#x27;one&#x27;);
Query OK, 1 row affected (0.01 sec)
# at 2339
#160201 19:14:40 server id 1057 end_log_pos 2441 CRC32 0xb0e9add
8 Query thread_id=12 exec_time=0 error_code=0
SET TIMESTAMP=1454321680/*!*/;
INSERT INTO t1 VALUES (1, &#x27;one&#x27;)
/*!*/;
52/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-54-638.jpg?cb=1455949285" title="SBR
SQLステートメントが記録されるため、そのステートメント
が何百万⾏更新しようと1ステートメントぶんのスペース..." target="_blank">
        54.
      </a>
    SBR
SQLステートメントが記録されるため、そのステートメント
が何百万⾏更新しようと1ステートメントぶんのスペースし
か取らない。
容量的なワーストケースはINSERTや1⾏UPDATE。-
SQLとしてパースされるため、「マスターには存在したけど
スレーブには存在しない⾏」へのクエリーはナチュラルに無
視される（WHERE句で空振りしたクエリーはエラーじゃな
くて空の結果セットを返す）
53/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-55-638.jpg?cb=1455949285" title="SBR
SQLとしてそれぞれのサーバーで実⾏されるため、非決定性
（実⾏するたびに結果が違う）ステートメントを使うと死..." target="_blank">
        55.
      </a>
    SBR
SQLとしてそれぞれのサーバーで実⾏されるため、非決定性
（実⾏するたびに結果が違う）ステートメントを使うと死
ぬ。
http://dev.mysql.com/doc/refman/5.6/ja/
replication-rbr-safe-unsafe.html
-
トリガーはマスターとスレーブで個々に実⾏される（記録さ
れるイベントはトリガー元テーブルに対するもののみ）
READ-COMMITTEDだとマスター/スレーブでデータ不整合
を起こすのでエラーになる。
54/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-56-638.jpg?cb=1455949285" title="READ-COMMITTEDがSBRを壊す︖
REPEATABLE-READならネクストキーロックでtrx2がブロ
ッ..." target="_blank">
        56.
      </a>
    READ-COMMITTEDがSBRを壊す︖
REPEATABLE-READならネクストキーロックでtrx2がブロ
ックされる。
+-----+------+
| num | val |
+-----+------+
| 1 | one |
+-----+------+
trx1&gt; BEGIN;
trx1&gt; UPDATE t1 SET val= &#x27;updated&#x27; WHERE num= 2; -- No row update
d.
trx2&gt; BEGIN;
trx2&gt; UPDATE t1 SET num= 2 WHERE num = 1;
trx2&gt; COMMIT;
trx1&gt; COMMIT;
55/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-57-638.jpg?cb=1455949285" title="RBR
5.1から導⼊
binlogに記録されるのは⾏の変更前の値と変更後の値をバイ
ナリーエンコードしたもの
イベン..." target="_blank">
        57.
      </a>
    RBR
5.1から導⼊
binlogに記録されるのは⾏の変更前の値と変更後の値をバイ
ナリーエンコードしたもの
イベントは⾏単位-
ただしDDLは設定に関わらずSBRで記録される
MySQL 5.7からのデフォルト
56/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-58-638.jpg?cb=1455949285" title="RBR
$ mysqlbinlog -R -h 127.0.0.1 -P 64057 -uroot --stop-ne..." target="_blank">
        58.
      </a>
    RBR
$ mysqlbinlog -R -h 127.0.0.1 -P 64057 -uroot --stop-never bin.000010
mysql57&gt; SET SESSION binlog_format= &#x27;ROW&#x27;;
Query OK, 0 rows affected (0.00 sec)
mysql57&gt; INSERT INTO t1 VALUES (2, &#x27;two&#x27;);
Query OK, 1 row affected (0.00 sec)
# at 2607
#160201 19:23:58 server id 1057 end_log_pos 2653 CRC32 0x424bf80
5 Table_map: `d1`.`t1` mapped to number 108
# at 2653
#160201 19:23:58 server id 1057 end_log_pos 2701 CRC32 0xf946a87
6 Write_rows: table id 108 flags: STMT_END_F
BINLOG &#x27;
PjKvVhMhBAAALgAAAF0KAAAAAGwAAAAAAAEAAmQxAAJ0MQACCA8CgAACBfhLQg==
PjKvVh4hBAAAMAAAAI0KAAAAAGwAAAAAAAEAAgAC//wCAAAAAAAAAAN0d292qEb5
&#x27;/*!*/;
57/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-59-638.jpg?cb=1455949285" title="RBR
1⾏1イベント。100万⾏更新すると死ぬ。
INSERTや1⾏UPDATEならSBRとそんなに容量変わらな
い..." target="_blank">
        59.
      </a>
    RBR
1⾏1イベント。100万⾏更新すると死ぬ。
INSERTや1⾏UPDATEならSBRとそんなに容量変わらな
い。
-
スレーブでも⾏探索と更新は⾏われるので、 プライマリ
ーキーが無いとカジュアルに死ぬ
-
「マスターには存在したけどスレーブには存在しない⾏」へ
のクエリーはエラーで⽌まる（更新前の値を持つ⾏が⾒付か
らないとER̲KEY̲NOT̲FOUND）
58/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-60-638.jpg?cb=1455949285" title="RBR
非決定性関数だろうと「実⾏結果が記録」されるため、マス
ターとスレーブでも値はズレない。
マスターでのみトリガ..." target="_blank">
        60.
      </a>
    RBR
非決定性関数だろうと「実⾏結果が記録」されるため、マス
ターとスレーブでも値はズレない。
マスターでのみトリガーが解釈され、トリガー元テーブルと
トリガー先テーブルの両⽅のイベントがbinlogに記録され
る。
マスターとスレーブでトリガーが違うと地獄が⾒える。-
バイナリーパックで型が決まっているため、マスターとスレ
ーブでデータ型が違うと死ぬ。
⽂字コードが違ってもバイト数が異なって死ぬ。-
59/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-61-638.jpg?cb=1455949285" title="MBR
基本はSBR、非決定性ステートメントだけRBRで使い分け
る。MBRと呼ぶのは稀。
いいとこ尽くしに聞こえなく..." target="_blank">
        61.
      </a>
    MBR
基本はSBR、非決定性ステートメントだけRBRで使い分け
る。MBRと呼ぶのは稀。
いいとこ尽くしに聞こえなくもないけど、実際は思わぬとこ
ろでRBRにフォールバックして割とカジュアルに死ぬ。
マスタースレーブでトリガーをズラして調整している時
にRBRに落ちて泣いたり。
-
何故かWHERE pkey = ?なクエリーにLIMIT 1とか付けられ
てRBRに落ちて Bug#74118 の洗礼を受けたり。
-
MySQL 5.1の⼀部のリビジョンだけこれがデフォルト。
弊社はこれです。。
60/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-62-638.jpg?cb=1455949285" title="初⼼者は黙ってRBR(5.7ʼs default)
初⼼者は黙ってRBR
サイレントにデータがズレるよりはエラって⽌ま..." target="_blank">
        62.
      </a>
    初⼼者は黙ってRBR(5.7ʼs default)
初⼼者は黙ってRBR
サイレントにデータがズレるよりはエラって⽌まった⽅がマ
シ
データのズレを検出＆リカバリーするにはpt-table-
checksumとpt-table-syncが有効
pt-slave-restartは使えるけどオススメしない
61/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-63-638.jpg?cb=1455949285" title="pt-table-checksum
SBRとRBRでそれぞれチェックサムを計算してテーブルに突
っ込むクエリーを発⾏
..." target="_blank">
        63.
      </a>
    pt-table-checksum
SBRとRBRでそれぞれチェックサムを計算してテーブルに突
っ込むクエリーを発⾏
マスター上では当然SBRでもRBRでも同じチェックサム
になる
-
スレーブではSBRで来たイベントは スレーブでチェックサ
ムを計算 、RBRで来たイベントは マスターで計算されたチ
ェックサムがそのままカラムに⼊る
これを⽐較することができる
62/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-64-638.jpg?cb=1455949285" title="pt-online-schema-change
変更元テーブルをコピーして先にALTER TABLEを適⽤する
変更元..." target="_blank">
        64.
      </a>
    pt-online-schema-change
変更元テーブルをコピーして先にALTER TABLEを適⽤する
変更元テーブルにトリガーを仕掛けて、変更元テーブルに対
する更新がコピーしたテーブルにも反映されるようにする
READ-COMMITTEDでゆっくり変更元テーブルからコピー
したテーブルに⾏をコピーする
コピーが終わったらロックを取ってRENAME TABLE
63/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-65-638.jpg?cb=1455949285" title="pt-online-schema-change
InnoDBオンラインDDLが導⼊された5.6以降でも有効
何故なら、..." target="_blank">
        65.
      </a>
    pt-online-schema-change
InnoDBオンラインDDLが導⼊された5.6以降でも有効
何故なら、SQLスレッドは相変わらず1本（あるいは、同じ
テーブルだとMTS使ってても追い越せない）ので、ALTER
TABLEに時間がかかるとその分レプリケーションが遅れる
pt-oscは細切れに⾏をコピーして、スレーブの遅れ具合をチ
ェックしながらスリープを⼊れるので、レプリケーション遅
延に優しい
64/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-66-638.jpg?cb=1455949285" title="バイナリーログの⼀⽣
マスター上でコミットされた順にbinlogにエンコード
binlogからrelaylogにシング..." target="_blank">
        66.
      </a>
    バイナリーログの⼀⽣
マスター上でコミットされた順にbinlogにエンコード
binlogからrelaylogにシングルスレッドで転送（順序は保証
される）
relaylogはシングルスレッドまたはマルチスレッドで適⽤
MySQL 5.5とそれ以前はシングルスレッド固定-
MySQL 5.6とそれ以降はslave_parallel_workers &gt; 1で
MTS（Multi Threaded Slave）
-
65/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-67-638.jpg?cb=1455949285" title="MTSのアーキテクチャー
clientA
connection executor storage_engine
bin..." target="_blank">
        67.
      </a>
    MTSのアーキテクチャー
clientA
connection executor storage_engine
binlog binlog_dump
io_thread relaylog
slave_executor1
slave_executor2
slave_executor3
coordinator slave_worker1
slave_worker2
slave_worker3
storage_engine
binlog
slave_connection clientB
master
slave
66/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-68-638.jpg?cb=1455949285" title="MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Threa..." target="_blank">
        68.
      </a>
    MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Thread(coordinator)がリレーログからイベントを取
り出す
2.
coordinatorがslave̲worker̲threadにイベントを渡す3.
slave̲worker̲threadはそれぞれExecutorを叩いてストレ
ージとバイナリーログを更新する
4.
67/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-69-638.jpg?cb=1455949285" title="MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Threa..." target="_blank">
        69.
      </a>
    MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Thread(coordinator)がリレーログからイベントを取
り出す
2.
coordinatorがslave̲worker̲threadにイベントを渡す3.
slave̲worker̲threadはそれぞれExecutorを叩いてストレ
ージとバイナリーログを更新する
4.
68/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-70-638.jpg?cb=1455949285" title="MTSコーディネーター
前後のイベントが互いに⼲渉しない（順序を⼊れ替えても問
題ない）かどうかの責任を持つ
ただし順..." target="_blank">
        70.
      </a>
    MTSコーディネーター
前後のイベントが互いに⼲渉しない（順序を⼊れ替えても問
題ない）かどうかの責任を持つ
ただし順序が⼊れ替わる（線形でない）ことが⼤前提の
ため、シングルスレッドレプリケーションよりも結果整
合性の⾊が強い
-
69/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-71-638.jpg?cb=1455949285" title="MTSコーディネーター
MySQL 5.6ではスキーマが分かれていることで⼲渉しない
ことを担保（5.7のslave_..." target="_blank">
        71.
      </a>
    MTSコーディネーター
MySQL 5.6ではスキーマが分かれていることで⼲渉しない
ことを担保（5.7のslave_parallel_type= DATABASE相当）
5.7ではマスターでbinlogに記録された時の直前のコミット
のタイムスタンプをベースに⼲渉しないことを担保するモー
ドが登場（slave_parallel_type= LOGICAL_CLOCK）
マスター上でロックが競合せずにグループコミットの中
に⼊れたってことはスレーブでも競合しないってことだ
よね︖ という理屈
-
70/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-72-638.jpg?cb=1455949285" title="MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Threa..." target="_blank">
        72.
      </a>
    MTSのアーキテクチャー
マスターのバイナリーログがリレーログに記録されるところ
までは⼀緒
1.
SQL Thread(coordinator)がリレーログからイベントを取
り出す
2.
coordinatorがslave̲worker̲threadにイベントを渡す3.
slave̲worker̲threadはそれぞれExecutorを叩いてスト
レージとバイナリーログを更新する
4.
71/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-73-638.jpg?cb=1455949285" title="slave̲worker̲thread
独⽴して動作するため、RR（Repeatable-Read）でもマス
ターと同..." target="_blank">
        73.
      </a>
    slave̲worker̲thread
独⽴して動作するため、RR（Repeatable-Read）でもマス
ターと同⼀のデータベース全体のスナップショットを保証で
きない
5.6ではスレーブ側のバイナリーログの中⾝は順序を保証で
きない（5.7ではslave_preserve_commit_orderで
LOGICAL̲CLOCKベースの順序を保証できるようになっ
た）
72/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-74-638.jpg?cb=1455949285" title="イベントの識別
たとえばInnoDBログならLSN
バイナリーログはファイル名とファイルの先頭からのオフセ
ットバイト..." target="_blank">
        74.
      </a>
    イベントの識別
たとえばInnoDBログならLSN
バイナリーログはファイル名とファイルの先頭からのオフセ
ットバイト数
これらはマスター上でのみ⼀意に識別されるものなので
カスケードすると変わる
-
MySQL 5.6とそれ以降のGTIDもこれらをマッピングする
だけで、本質的には相変わらずこれで⾒ている
-
73/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-75-638.jpg?cb=1455949285" title="CHANGE MASTER TO
mysql&gt; CHANGE MASTER TO master_log_file= &#x27;..." target="_blank">
        75.
      </a>
    CHANGE MASTER TO
mysql&gt; CHANGE MASTER TO master_log_file= &#x27;..&#x27;, master_log_pos
= ..;
このバイナリーログのこのポジションから先を寄越せ、とい
うクライアントからのリクエスト。
ポジションの指定はイベントの先頭でないといけない（イベ
ントの先頭でないポジションを指定するとSTART SLAVEでI/O
スレッドがエラる）
バイナリーログの固定ヘッダ⻑はバージョンによって違
うけど、どうせ読み⾶ばされるので「先頭から読ませた
い」時はmaster_log_pos= 1でどのバージョンでもイケ
る。
-
74/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-76-638.jpg?cb=1455949285" title="master.info
マスターの情報を保持するための構造。コード追う時は
mi。
CHANGE MASTER TOで..." target="_blank">
        76.
      </a>
    master.info
マスターの情報を保持するための構造。コード追う時は
mi。
CHANGE MASTER TOで与えられた情報 + αが⼊ってる。
relay_log_recovery != 1の時はここからファイルとポジシ
ョンの情報を復元してレプリケーションを再開する
5.6とそれ以降ではInnoDBなテーブルに記録することが可
能（master_info_repository= {TABLE|FILE}
75/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-77-638.jpg?cb=1455949285" title="master.info
slave1 [localhost] {msandbox} ((none)) &gt; SELECT..." target="_blank">
        77.
      </a>
    master.info
slave1 [localhost] {msandbox} ((none)) &gt; SELECT * FROM mysql.slave_master_infoG
*************************** 1. row ***************************
Number_of_lines: 23
Master_log_name: mysql-bin.000001
Master_log_pos: 3089
Host: 127.0.0.1
User_name: rsandbox
User_password: rsandbox
Port: 22494
Connect_retry: 60
Enabled_ssl: 0
Ssl_ca:
Ssl_capath:
Ssl_cert:
Ssl_cipher:
Ssl_key:
Ssl_verify_server_cert: 0
Heartbeat: 1800
Bind:
Ignored_server_ids: 0
Uuid: 00022494-1111-1111-1111-111111111111
Retry_count: 86400
Ssl_crl:
Ssl_crlpath:
Enabled_auto_position: 0
1 row in set (0.00 sec)
76/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-78-638.jpg?cb=1455949285" title="relay̲log.info
リレーログ（SQLスレッド, slave̲worker̲thread）の情報
を保持する..." target="_blank">
        78.
      </a>
    relay̲log.info
リレーログ（SQLスレッド, slave̲worker̲thread）の情報
を保持するための構造。コード追う時はrli。
Relay̲log̲fileとかRelay̲log̲posとか
Relay̲Master̲Log̲FileとかExec̲master̲log̲posとか⼊
ってる（SQLスレッド側の使う情報）
5.6とそれ以降ではInnoDBなテーブルに記録することが可
能（relay_log_info_repository= {TABLE|FILE}）
77/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-79-638.jpg?cb=1455949285" title="relay̲log.info
slave1 [localhost] {msandbox} ((none)) &gt; SEL..." target="_blank">
        79.
      </a>
    relay̲log.info
slave1 [localhost] {msandbox} ((none)) &gt; SELECT * FROM mysql.slav
e_relay_log_infoG
*************************** 1. row ***************************
Number_of_lines: 7
Relay_log_name: ./mysql-relay.000002
Relay_log_pos: 3061
Master_log_name: mysql-bin.000001
Master_log_pos: 2898
Sql_delay: 0
Number_of_workers: 0
Id: 1
1 row in set (0.00 sec)
78/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-80-638.jpg?cb=1455949285" title="レプリケーションとマスタークラッシュ
バイナリーログ マスターストレージ リレーログ 影響
残ってない 未更新 受信し..." target="_blank">
        80.
      </a>
    レプリケーションとマスタークラッシュ
バイナリーログ マスターストレージ リレーログ 影響
残ってない 未更新 受信してない なし（︖）
残ってない 未更新 受信した データ不整合（スレーブに
あってマスターにない）
しかもエラー
（ER̲MASTER̲FATAL̲ERROR̲REA
DING̲BINLOG）
残ってない 更新済み 受信してない データ不整合（マスターに
あってスレーブにない）
残ってない 更新済み 受信した なしだがエラー
（ER̲MASTER̲FATAL̲ERROR̲REA
DING̲BINLOG）
残ってる 未更新 受信してない トランザクションロ
スト
残ってる 未更新 受信した データ不整合（スレーブに
あってマスターにない）
残ってる 更新済み 受信してない なし（リトライで救われる）
残ってる 更新済み 受信した なし
バイナリーログが残っていない場合、その期間のPITR不可
79/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-81-638.jpg?cb=1455949285" title="レプリケーションとマスタークラッシュ
sync_binlog= 1だと起こり得る範囲がぐっと狭く
バイナリーログ マス..." target="_blank">
        81.
      </a>
    レプリケーションとマスタークラッシュ
sync_binlog= 1だと起こり得る範囲がぐっと狭く
バイナリーログ マスターストレージ リレーログ 影響
残ってる 未更新 受信してない トランザクションロ
スト
残ってる 未更新 受信した データ不整合（スレーブに
あってマスターにない）
残ってる 更新済み 受信してない なし（リトライで救われる）
残ってる 更新済み 受信した なし
80/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-82-638.jpg?cb=1455949285" title="レプリケーションとマスタークラッシュ
またはsemisync + log_slave_updatesでマスター切り替え..." target="_blank">
        82.
      </a>
    レプリケーションとマスタークラッシュ
またはsemisync + log_slave_updatesでマスター切り替え
バイナリーログ マスターストレージ リレーログ 影響
残ってない 未更新 受信した データ不整合（スレーブに
あってマスターにない）
しかもエラー
（ER̲MASTER̲FATAL̲ERROR̲REA
DING̲BINLOG）
残ってない 更新済み 受信した なしだがエラー
（ER̲MASTER̲FATAL̲ERROR̲REA
DING̲BINLOG）
残ってる 未更新 受信した データ不整合（スレーブに
あってマスターにない）
残ってる 更新済み 受信した なし
81/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-83-638.jpg?cb=1455949285" title="レプリケーションとスレーブクラッシュ
リレーログ master.info SQLスレッド relay̲log.info..." target="_blank">
        83.
      </a>
    レプリケーションとスレーブクラッシュ
リレーログ master.info SQLスレッド relay̲log.info 影響
受け取ってない 記録してない 適⽤してない 記録してない なし
受け取ってる 記録してない 適⽤してない 記録してない リレーログ⼆重
受信
受け取ってる 記録してない 適⽤した 記録してない リレーログ⼆重
受信 + ⼆重適
⽤ = 三重コミ
ット
受け取ってる 記録してない 適⽤した 記録した リレーログ⼆重
受信
受け取ってる 記録した 適⽤してない 記録してない なし
受け取ってる 記録した 適⽤した 記録してない リレーログ⼆重
適⽤
受け取ってる 記録した 適⽤した 記録した なし
82/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-84-638.jpg?cb=1455949285" title="レプリケーションとスレーブクラッシュ
relay_log_info_repository= TABLE
ただしInno..." target="_blank">
        84.
      </a>
    レプリケーションとスレーブクラッシュ
relay_log_info_repository= TABLE
ただしInnoDB前提（innodb_flush_log_at_trx_commit
= 1で次の表）
-
SQLスレッドのイベント適⽤と
mysql.slave̲relay̲log̲infoへのUPDATEを1つのコミ
ットにまとめる
-
83/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-85-638.jpg?cb=1455949285" title="relay_log_info_repository= TABLE &amp;&amp;
innodb_flush_log_at_trx..." target="_blank">
        85.
      </a>
    relay_log_info_repository= TABLE &amp;&amp;
innodb_flush_log_at_trx_commit = 1
リレーログ master.info SQLスレッド relay̲log.info 影響
受け取ってない 記録してない 適⽤してない 記録してない なし
受け取ってる 記録してない 適⽤してない 記録してない リレーログ⼆重
受信
受け取ってる 記録してない 適⽤した 記録した リレーログ⼆重
受信
受け取ってる 記録した 適⽤してない 記録してない なし
受け取ってる 記録した 適⽤した 記録した なし
84/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-86-638.jpg?cb=1455949285" title="レプリケーションとスレーブクラッシュ
relay_log_recovery
レプリケーションの再開時にmaster.i..." target="_blank">
        86.
      </a>
    レプリケーションとスレーブクラッシュ
relay_log_recovery
レプリケーションの再開時にmaster.infoのポジション情
報をアテにせず、relaylog.infoの情報を元にレプリケー
ションを復元する
-
受信済みだけど未適⽤の（relaylog.infoに適⽤済みと記
録されてない）リレーログは捨てる
-
85/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-87-638.jpg?cb=1455949285" title="relay_log_recovery
リレーログ master.info SQLスレッド relay̲log.info..." target="_blank">
        87.
      </a>
    relay_log_recovery
リレーログ master.info SQLスレッド relay̲log.info 影響
受け取ってない 記録してない 適⽤してない 記録してない なし
受け取ってる 記録してない 適⽤した 記録してない リレーログ⼆重
受信 + リレー
ログ⼆重適⽤
= 三重コミッ
ト
受け取ってる 記録した 適⽤してない 記録してない なし
受け取ってる 記録した 適⽤した 記録した なし
86/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-88-638.jpg?cb=1455949285" title="レプリケーションとスレーブクラッシュ
男らしくバックアップからリストアする
割と真⾯目に。
毎回リストアすると割り切れ..." target="_blank">
        88.
      </a>
    レプリケーションとスレーブクラッシュ
男らしくバックアップからリストアする
割と真⾯目に。
毎回リストアすると割り切れば、ACIDのDは無茶な⽅向
に振れて性能が稼げるお( ＾ω＾)
-
87/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-89-638.jpg?cb=1455949285" title="レプリケーションとスレーブクラッシュ
sync̲relay̲log?
syncされていようとsyncされていまいと、リ..." target="_blank">
        89.
      </a>
    レプリケーションとスレーブクラッシュ
sync̲relay̲log?
syncされていようとsyncされていまいと、リレーログからレ
プリケーション再開位置を特定するわけではない
sync̲master̲info?
relay_log_recoveryならrelay̲log.infoから再開位置を特定す
るのであまり重要じゃない
sync̲relay̲log̲info?
relay_log_info_repository != TABLEやトランザクション非対
応テーブルの場合にのみ効いてくる。ややこしいので注意。
http://dev.mysql.com/doc/refman/5.6/ja/replication-
options-slave.html#sysvar̲sync̲relay̲log̲info 88/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-90-638.jpg?cb=1455949285" title="マスター側のフィルターに関するパラメーター
server_id, replicate_same_server_id
フ..." target="_blank">
        90.
      </a>
    マスター側のフィルターに関するパラメーター
server_id, replicate_same_server_id
フィルター関連っぽくないけど。-
⾃分と同じサーバーIDのイベントは読み⾶ばす
カスケードすると同じサーバーIDのmysqldがいても⼀
⾒問題なさげに⾒えてしまう
-
binlog_do_db, binlog_ignore_db
そもそもバイナリーログに記録されなくなる。-
カレントデータベース基準。-
個⼈的に推奨しない。-
89/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-91-638.jpg?cb=1455949285" title="スレーブ側のフィルターに関するパラメーター
SQLスレッドでフィルター
なので、I/Oスレッドはフツーに受信してリレー..." target="_blank">
        91.
      </a>
    スレーブ側のフィルターに関するパラメーター
SQLスレッドでフィルター
なので、I/Oスレッドはフツーに受信してリレーログまで
吐く
-
replicate_do_db, replicate_ignore_db-
replicate_do_table, replicate_ignore_table-
replicate_wild_do_table, replicate_wild_ignore_table-
replicate_rewrite_db
90/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-92-638.jpg?cb=1455949285" title="レプリケーションフィルターの評価順
フローチャートになってるので⾒やすい
MySQL :: MySQL 5.6 リファ..." target="_blank">
        92.
      </a>
    レプリケーションフィルターの評価順
フローチャートになってるので⾒やすい
MySQL :: MySQL 5.6 リファレンスマニュアル :: 17.2.3
サーバーがレプリケーションフィルタリングルールをどのよ
うに評価するか
マスターとスレーブで意図的に不整合を起こさせよう って
いうんだから業が深い
91/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-93-638.jpg?cb=1455949285" title="レプリケーションで垂直シャード
table1 table2 table3
binlog
replicate_do_ta..." target="_blank">
        93.
      </a>
    レプリケーションで垂直シャード
table1 table2 table3
binlog
replicate_do_table= t
able1
table1 replicate_do_table= t
able2, table3
table2
table3
master
slave slave
92/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-94-638.jpg?cb=1455949285" title="マスターとスレーブで
バージョンが違ってもいい（レプリケーションがサポートさ
れるのは原則リリース系列1世代）
スレー..." target="_blank">
        94.
      </a>
    マスターとスレーブで
バージョンが違ってもいい（レプリケーションがサポートさ
れるのは原則リリース系列1世代）
スレーブを先にバージョンアップするパターンのみ
全部のスレーブを先にバージョンアップしてマスター切り替
えして、旧マスターをバージョンアップして新マスターにぶ
ら下げるとローリングアップグレードとか
93/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-95-638.jpg?cb=1455949285" title="マスターとスレーブで
ストレージエンジンが違ってもいい（だがマスターを
BLACKHOLEはやめておけ）
マスターはI..." target="_blank">
        95.
      </a>
    マスターとスレーブで
ストレージエンジンが違ってもいい（だがマスターを
BLACKHOLEはやめておけ）
マスターはInnoDBでトランザクション保護、集計⽤スレー
ブはMyISAMでスキャンしまくる遊び（あるいは、MyISAM
は容量効率がいいし）
マスターはInnoDBで保護、参照⽤スレーブにMroonga（参
照ロックフリー、全⽂検索、カラムナー）
ローリングアップグレードと同じ要領で、MyISAMから
InnoDBに変更したり
94/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-96-638.jpg?cb=1455949285" title="マスターとスレーブで
インデックスがあったりなかったりしていい（カラムはやめ
ておいた⽅が無難）
RSU（Rollin..." target="_blank">
        96.
      </a>
    マスターとスレーブで
インデックスがあったりなかったりしていい（カラムはやめ
ておいた⽅が無難）
RSU（Rolling Schema Update）って呼ぶこともある。
呼ばないこともある。
-
5.6のInnoDBオンラインDDLでRSUがかなりやりやすく-
ただしあんまり差があると管理が⾯倒
95/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-97-638.jpg?cb=1455949285" title="これまでのレプリケーションの制約
I/Oスレッド - リレーログ - SQLスレッド で1組
5.6からSQLスレッド..." target="_blank">
        97.
      </a>
    これまでのレプリケーションの制約
I/Oスレッド - リレーログ - SQLスレッド で1組
5.6からSQLスレッドは並列化可能に-
I/Oスレッドが1本しかないということは、「スレーブか
ら⾒たマスターは1つしか存在できない」
マスターから⾒たスレーブはいくつあってもいい（た
だのクライアントなので、（性能を考えなければ）
max_connections未満ならいくらでも）
-
96/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-98-638.jpg?cb=1455949285" title="複数のマスターを持ちたい理由
集計⽤スレーブ
あっちのサーバーのデータとこっちのサーバーのデータ
をJOINしたい
-..." target="_blank">
        98.
      </a>
    複数のマスターを持ちたい理由
集計⽤スレーブ
あっちのサーバーのデータとこっちのサーバーのデータ
をJOINしたい
-
集計⽤と割り切ればHDDのRAID5で容量を稼ぐという選
択肢もありだし
-
シャードの集約
複数のシャードをまとめてサーバー削減したい-
97/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-99-638.jpg?cb=1455949285" title="N対1レプリケーション
通称えぬいちレプリケーションまたはどあきレプリケー
ション
「1つのマスターしか設定できないな..." target="_blank">
        99.
      </a>
    N対1レプリケーション
通称えぬいちレプリケーションまたはどあきレプリケー
ション
「1つのマスターしか設定できないなら、定期的にマスター
を切り替えればいいじゃない」
do-aki/N1Repl: master n : slave 1 replication for mysql
98/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-100-638.jpg?cb=1455949285" title="N対1レプリケーション
master1 slave master2
START SLAVE
Binlog Dump
A..." target="_blank">
        100.
      </a>
    N対1レプリケーション
master1 slave master2
START SLAVE
Binlog Dump
Applying
CHANGE MASTER TO
Binlog Dump
Applying
CHANGE MASTER TO
Binlog Dump
99/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-101-638.jpg?cb=1455949285" title="N対1レプリケーション
実はMySQL Utilitiesにもmysqlrplmsというどあきレプリケ
ーションスクリ..." target="_blank">
        101.
      </a>
    N対1レプリケーション
実はMySQL Utilitiesにもmysqlrplmsというどあきレプリケ
ーションスクリプトがある
ただしこちらはGTID必須
mysqlrplms ̶ Set Up and Start Replication Among a
Slave and Multiple Masters
100/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-102-638.jpg?cb=1455949285" title="(Native) Multi Source Replication
MySQLでは5.7、MariaDBでは10.0か..." target="_blank">
        102.
      </a>
    (Native) Multi Source Replication
MySQLでは5.7、MariaDBでは10.0から
「1つのI/Oスレッドが1つのマスターしか設定できないな
ら、I/Oスレッドごと横に増やせばいいじゃない」
I/Oスレッド, リレーログ, SQLスレッド(MTS可)を「チャン
ネル」（MariaDBは「コネクション」）という単位で複数起
動する
もちろんチャンネル間のデータ競合や順序の保証はユー
ザーがしなければいけない
-
101/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-103-638.jpg?cb=1455949285" title="(Native) Multi Source Replication
master1 slave_channel_1 s..." target="_blank">
        103.
      </a>
    (Native) Multi Source Replication
master1 slave_channel_1 slave_channel_2 master2
START SLAVE FOR CHANNE
L 1
Binlog Dump
Applying
START SLAVE FOR CHANNE
L 2
Binlog Dump
Applying
102/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-104-638.jpg?cb=1455949285" title="お⼿軽シャード集約
スキーマが分かれている場合
インポートだけ間違えなければ⼤丈夫
スキーマは同じだけどテーブルが分か..." target="_blank">
        104.
      </a>
    お⼿軽シャード集約
スキーマが分かれている場合
インポートだけ間違えなければ⼤丈夫
スキーマは同じだけどテーブルが分かれている場合
インポートだけ間違えなければ⼀応⼤丈夫
同じ名前空間のテーブルがある
ユニークキーは本当にユニーク︖ サロゲートキーは︖
MySQLやSSDとかの話 前編
103/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-105-638.jpg?cb=1455949285" title="GTID
Global Transaction IDentifier
サーバー識別⼦（マスターの@@server_uu..." target="_blank">
        105.
      </a>
    GTID
Global Transaction IDentifier
サーバー識別⼦（マスターの@@server_uuid）、ソースを
追っかけるならSIDNO（Source ID NO）
datadir/auto.cnfに保管されるので、リストア時に注
意
-
トランザクション識別⼦（マスター上でトランザクショ
ンがコミットされた連番）、ソースを追っかけるなら
GNO（Group NO）
-
トランザクションを⼀意に識別するだけで、バイナリーログ
のイベントを⼀意に識別するわけではない
これ意外と⾒落としがち-
104/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-106-638.jpg?cb=1455949285" title="GTIDとマスター
バイナリーログにGTIDを埋め込むようになる…くらいしか
違いはない
とはいえgtid_mode=..." target="_blank">
        106.
      </a>
    GTIDとマスター
バイナリーログにGTIDを埋め込むようになる…くらいしか
違いはない
とはいえgtid_mode= ONにはenforce_gtid_consistency= ON
が必要なので、マスターの振る舞いとしては違いは少なくと
もサーバーとしての振る舞いはちょっと違う
明らかにトランザクションアンセーフなステートメント
の実⾏を拒否するようになる
-
105/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-107-638.jpg?cb=1455949285" title="GTIDとI/Oスレッド
master_auto_position= 1の場合、「このファイルのこのポ
ジションから寄..." target="_blank">
        107.
      </a>
    GTIDとI/Oスレッド
master_auto_position= 1の場合、「このファイルのこのポ
ジションから寄越せ︕」の代わりに、「この（=スレーブが
既に適⽤済みの）GTID 以外 のバイナリーログを頼む」に
なる
サーバー側が動的にファイル名とポジションに変換して
送信してくれる。
-
Commandが”Binlog Dump”から”Binlog Dump
GTID”になる。⾖。
-
マスターに伝える「適⽤済みのGTID」はgtid_executed変数
に⼊っている。
106/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-108-638.jpg?cb=1455949285" title="gtid̲executedの保管
バージョン log̲bin 保存先 再起動時の
gtid̲executedの復元
5..." target="_blank">
        108.
      </a>
    gtid̲executedの保管
バージョン log̲bin 保存先 再起動時の
gtid̲executedの復元
5.6 OFF N/A N/A(GTIDが有効化
できない)
5.6 ON バイナリーログ 最新のバイナリーロ
グの
Previous̲gtids̲lo
g̲eventと最新のバ
イナリーログの
Gtid̲log̲eventを
全部⾜したもの
107/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-109-638.jpg?cb=1455949285" title="gtid̲executedの保管
バージョン log̲bin 保存先 再起動時の
gtid̲executedの復元
5..." target="_blank">
        109.
      </a>
    gtid̲executedの保管
バージョン log̲bin 保存先 再起動時の
gtid̲executedの復元
5.7 OFF mysql.gtid̲excute
d
テーブルから
（COMMITのたびに
mysql.gtid̲execut
edに保存）
5.7 ON バイナリーログ＆テ
ーブル
バイナリーログか
ら。テーブルへの記
録はバイナリーログ
のフラッシュの時だ
け
108/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-110-638.jpg?cb=1455949285" title="GTIDとSQLスレッド
GTIDの連番部分（GNO）は気にしない
これから実⾏するトランザクションのGTID（gti..." target="_blank">
        110.
      </a>
    GTIDとSQLスレッド
GTIDの連番部分（GNO）は気にしない
これから実⾏するトランザクションのGTID（gtid_next）が
実⾏済み（gtid_executedに含まれる）の場合、実⾏しない
（スキップする）
これによってスレーブクラッシュ時の「リレーログの⼆
重適⽤」が完全に回避できる
-
sql/sql̲parse.cc:mysql̲execute̲commandの中で分
岐するので、エグゼキューターがそもそも（ほぼ）動か
ない。
-
エグゼキューターなので、SQLスレッドに限らずフツー
のスレッドでも同じ動作。
-
109/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-111-638.jpg?cb=1455949285" title="GTIDの有効化
masterslave OFF OFF̲PERMISSIVE ON̲PERMISSIVE ON
OF..." target="_blank">
        111.
      </a>
    GTIDの有効化
masterslave OFF OFF̲PERMISSIVE ON̲PERMISSIVE ON
OFF ○ ○ ○ ×
OFF̲PERMIS
SIVE
○ ○ ○ ×
ON̲PERMISS
IVE
× ○ ○ ○
ON × ○ ○ ○
110/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-112-638.jpg?cb=1455949285" title="GTIDの有効化
OFF
GTIDを振らない。GTIDの振られたイベントが来るとエラる
OFF̲PERMISSIVE ..." target="_blank">
        112.
      </a>
    GTIDの有効化
OFF
GTIDを振らない。GTIDの振られたイベントが来るとエラる
OFF̲PERMISSIVE (5.7から)
GTIDを振らないけど、GTIDの振られたイベントが来ても⽂句
を⾔わない
ON̲PERMISSIVE (5.7から)
GTIDを振るけど、GTIDの振られてないイベントが来ても⽂句
を⾔わない
ON
GTIDを振るし、GTIDの振られてないイベントが来るとエラる
111/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-113-638.jpg?cb=1455949285" title="準同期レプリケーション
通称semisync
ここを同期にする
Executorがストレージエンジンに書くa.
Exe..." target="_blank">
        113.
      </a>
    準同期レプリケーション
通称semisync
ここを同期にする
Executorがストレージエンジンに書くa.
Executorがバイナリーログに書くb.
Binlog Dump Threadがバイナリーログを読むc.
I/O ThreadがBinlog Dumpからイベントを受け取っ
てリレーログに書く
d.
I/O ThreadからBinlog DumpにACKを返すe.
SQL Threadがリレーログからイベントを読み取って⾃
⾝のExecutorを叩く
f.
112/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-114-638.jpg?cb=1455949285" title="準同期レプリケーションのパラメーター
rpl_semi_sync_master_timeout
デフォルトが10000..." target="_blank">
        114.
      </a>
    準同期レプリケーションのパラメーター
rpl_semi_sync_master_timeout
デフォルトが10000（ミリ秒、つまり10秒）と⼤きい-
rpl_semi_sync_master_wait_no_slave
OFFにすると、スレーブが全滅すると⾃動でAsyncレプリ
ケーションにフォールバックする
-
113/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-115-638.jpg?cb=1455949285" title="準同期レプリケーションの拡張 at 5.7
rpl_semi_sync_master_wait_for_slave_c..." target="_blank">
        115.
      </a>
    準同期レプリケーションの拡張 at 5.7
rpl_semi_sync_master_wait_for_slave_count
いくつのI/O ThreadがACKを返したらマスター上でOKと
されるかを指定可能に
-
rpl_semi_sync_master_wait_point= {AFTER_SYNC|
AFTER_COMMIT}
マスター上で、ACKを待ってからストレージエンジンに
書き込むか、ストレージエンジンに書き込んでからACK
を待つか
-
「ロスレス準同期」と⾔ってるやつ-
114/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-116-638.jpg?cb=1455949285" title="その他のレプ
リケーショ
ン︖
115/133
 " target="_blank">
        116.
      </a>
    その他のレプ
リケーショ
ン︖
115/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-117-638.jpg?cb=1455949285" title="仮想完全同期レプリケーション
通称Galera Cluster
本家codershipのGalera Cluster ..." target="_blank">
        117.
      </a>
    仮想完全同期レプリケーション
通称Galera Cluster
本家codershipのGalera Cluster for MySQL, Percona実
装のPercona XtraDB Cluster, MariaDB実装のMariaDB
Galera Clusterがある
-
バイナリーログモジュールを使ってるけどバイナリーログと
は別のファイルを吐き出す
InnoDBストレージエンジンのみサポート
binlog̲format= ROW固定
Deadlock detectionじゃなくてLocal certification failureな
んだっ⼿⽻先
116/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-118-638.jpg?cb=1455949285" title="Galera Cluster
ローカルノードにトランザクションを展開1.
COMMIT前にGalera Cacheに書..." target="_blank">
        118.
      </a>
    Galera Cluster
ローカルノードにトランザクションを展開1.
COMMIT前にGalera Cacheに書き込み2.
Galera Cacheのプロパゲート3.
他ノードからACK4.
ローカルノードでCOMMIT完了5.
他ノードでCOMMIT6.
117/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-119-638.jpg?cb=1455949285" title="Percona XtraBackup
レプリケーション︖
グローバルロックをかけてLSNを取り出すa.
テーブルスペー..." target="_blank">
        119.
      </a>
    Percona XtraBackup
レプリケーション︖
グローバルロックをかけてLSNを取り出すa.
テーブルスペースファイルのコピーb.
コピー中、InnoDBログをスキャンして、開始時以降の
LSNのログを全て記録する
c.
コピーしたテーブルスペースにコピーしたログファイル
を適⽤する（クラッシュリカバリー相当）
d.
これができるってことは頑張ればInnoDBログのストリーム
によるレプリケーションもできるんじゃ…︖
俺はがんばらない-
118/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-120-638.jpg?cb=1455949285" title="mysqlbinlog -R –stop-never –raw
マスターから⾒るとI/Oスレッドに⾒えるmysqlbi..." target="_blank">
        120.
      </a>
    mysqlbinlog -R –stop-never –raw
マスターから⾒るとI/Oスレッドに⾒えるmysqlbinlog -Rに
バイナリーログの末尾まで⾏っても終了しない--stop-never
オプションを付け
binlogデコードをかけずにそのままファイルに落とす--raw
オプションを付けると
バイナリーログのストリームバックアップができます
119/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-121-638.jpg?cb=1455949285" title="Facebook MySQLのmysqlbinlog
semisyncスレーブになれるようなオプションが拡張されて
る..." target="_blank">
        121.
      </a>
    Facebook MySQLのmysqlbinlog
semisyncスレーブになれるようなオプションが拡張されて
る
マスターとスレーブは複数の違うDCに配置されてるらしく
て
マスターと同じDCにバイナリーログ保管⽤のmysqlbinlog
さんがいる
DC間はAsync, DC内(mysqlbinlog)はSemisyncにすること
で、レイテンシーとバイナリーログの保全を両⽅担保
Yoshinori Matsunobuʼs blog: Semi-Synchronous
Replication at Facebook
120/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-122-638.jpg?cb=1455949285" title="Binlog Events
I/Oスレッド相当の実装とbinlogデコーダーの実装ライブラ
リー
地雷が埋まってるらし..." target="_blank">
        122.
      </a>
    Binlog Events
I/Oスレッド相当の実装とbinlogデコーダーの実装ライブラ
リー
地雷が埋まってるらしい。-
MySQL Binlog Events でストリーム処理してみた
#MySQLUC15
-
Labs にある”Hadoop Applier”はこれを使った実装に書き換
えるとか書き換えないとか
121/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-123-638.jpg?cb=1455949285" title="InnoDB Memcached Plugin
122/133
 " target="_blank">
        123.
      </a>
    InnoDB Memcached Plugin
122/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-124-638.jpg?cb=1455949285" title="InnoDB Memcached Plugin
innodb_api_enable_binlogを有効にするとbinl..." target="_blank">
        124.
      </a>
    InnoDB Memcached Plugin
innodb_api_enable_binlogを有効にするとbinlog吐ける
イベントは全てRBR
がんばれば「トランザクション対応永続化分散
memcached」が出来るかも知れない
innodb_api_trx_levelのデフォルトはREAD-
UNCOMMITTEDなので要変更
-
innodb_api_bk_commit_intervalのデフォルト5秒も変え
た⽅が良さそう
-
123/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-125-638.jpg?cb=1455949285" title="さあみなさん
お待ちかね
124/133
 " target="_blank">
        125.
      </a>
    さあみなさん
お待ちかね
124/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-126-638.jpg?cb=1455949285" title="「NOW関数は現
在時刻を返さな
い」の謎に迫る
125/133
 " target="_blank">
        126.
      </a>
    「NOW関数は現
在時刻を返さな
い」の謎に迫る
125/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-127-638.jpg?cb=1455949285" title="NOW関数
NOW() は、ステートメントが実⾏を開始する時刻を⽰
す定数時間を返します。
さらに、SET TIMES..." target="_blank">
        127.
      </a>
    NOW関数
NOW() は、ステートメントが実⾏を開始する時刻を⽰
す定数時間を返します。
さらに、SET TIMESTAMP ステートメントによっ
て、 ..snip.. タイムスタンプをゼロ以外の値に設定する
と、後続の NOW() が起動されるたびに、その値が返さ
れます。
http://dev.mysql.com/doc/refman/5.6/ja/date-and-time-
functions.html#function̲now
126/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-128-638.jpg?cb=1455949285" title="NOW関数
mysql56&gt; SELECT NOW();
2016-02-18 19:37:18
mysql56&gt; S..." target="_blank">
        128.
      </a>
    NOW関数
mysql56&gt; SELECT NOW();
2016-02-18 19:37:18
mysql56&gt; SELECT NOW();
2016-02-18 19:37:19
mysql56&gt; SET timestamp= 1455791802.172832;
mysql56&gt; SELECT NOW();
2016-02-18 19:36:42
mysql56&gt; SELECT NOW();
2016-02-18 19:36:42
127/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-129-638.jpg?cb=1455949285" title="NOW関数とバイナリーログ
安全でないと⾒なされない非決定的関数。 これらの関
数は決定的ではありませんが、ロギングお..." target="_blank">
        129.
      </a>
    NOW関数とバイナリーログ
安全でないと⾒なされない非決定的関数。 これらの関
数は決定的ではありませんが、ロギングおよびレプリケ
ー シ ョ ン目 的の場 合は安 全と し て処 理さ れ ま す:
CONNECTION̲ID()、CURDATE()、CURRENT̲DATE
()、CURRENT̲TIME()、CURRENT̲TIMESTAMP()、
CURTIME()、LAST̲INSERT̲ID()、LOCALTIME()、
LOCALTIMESTAMP()、NOW()、UNIX̲TIMESTAMP
( )、U T C ̲ D A T E ( )、U T C ̲ T I M E ( )、お よ び
UTC̲TIMESTAMP()。
http://dev.mysql.com/doc/refman/5.6/ja/replication-rbr-
safe-unsafe.html
128/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-130-638.jpg?cb=1455949285" title="NOW関数とバイナリーログ
# at 4381
#160212 17:23:20 server id 1056 end..." target="_blank">
        130.
      </a>
    NOW関数とバイナリーログ
# at 4381
#160212 17:23:20 server id 1056 end_log_pos 4466 Query thread_i
d=43 exec_time=0 error_code=0
SET TIMESTAMP=1455265400/*!*/;
BEGIN
/*!*/;
# at 4466
#160212 17:23:20 server id 1056 end_log_pos 4710 Query thread_i
d=43 exec_time=0 error_code=0
SET TIMESTAMP=1455265400/*!*/;
INSERT INTO t1 VALUES (1691643253,&#x27;JBbKOfG7O3qp66Aa5yY8QelD4WL77eKIpneDJ
nCbq2Oo0QM6Pm6jOrxLDASCpgXWS1cnooMXjeJj5ahMCnxTXuqkxIxmyK8QLk52PJZ8ykjvA
P9N46sbtiKq09SqTc&#x27;)
/*!*/;
# at 4710
#160212 17:23:20 server id 1056 end_log_pos 4737 Xid = 943518
COMMIT/*!*/;
129/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-131-638.jpg?cb=1455949285" title="レプリケーション
でしこたま痛い目
を⾒た の先⼈ イル
カ㌠から
130/133
 " target="_blank">
        131.
      </a>
    レプリケーション
でしこたま痛い目
を⾒た の先⼈ イル
カ㌠から
130/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-132-638.jpg?cb=1455949285" title="これからレプリケー
ション で痛い目を⾒
る でできることが増
えていくゾウ㌠へ
131/133
 " target="_blank">
        132.
      </a>
    これからレプリケー
ション で痛い目を⾒
る でできることが増
えていくゾウ㌠へ
131/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-133-638.jpg?cb=1455949285" title="楽しい
よ︕︕１
132/133
 " target="_blank">
        133.
      </a>
    楽しい
よ︕︕１
132/133
 
  </li>
  <li>
      <a href="http://image.slidesharecdn.com/mysql-160220062031/95/mysql-134-638.jpg?cb=1455949285" title="Questions
and/or
Suggestions?
133/133
 " target="_blank">
        134.
      </a>
    Questions
and/or
Suggestions?
133/133
 
  </li>

              </ol>
            </div>
      </div>
    </div>

    <aside id="side-panel" class="small-12 large-4 columns j-related-more-tab">
        
<dl class="tabs related-tabs small" data-tab>
    <dd class="active">
      <a href="#related-tab-content" data-ga-cat="bigfoot_slideview" data-ga-action="relatedslideshows_tab">
        Recommended
      </a>
    </dd>
</dl>

<div class="tabs-content">
    <ul id="related-tab-content" class="content active no-bullet notranslate">

        <li class="j-related-item">
  <a data-ssid="57449062"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="雑なMySQLパフォーマンスチューニング"
    href="/yoku0825/mysql-57449062">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="雑なMySQLパフォーマンスチューニング"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/mysql-160125081954-thumbnail-2.jpg?cb=1454483169" />
    </div>

    <div class="related-content">
      <div class="title">
        雑なMySQLパフォーマンスチューニング
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="57445108"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="紹介 of Anemometer"
    href="/yoku0825/of-anemometer">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="紹介 of Anemometer"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/introductionofanemometer-160125050835-thumbnail-2.jpg?cb=1454483175" />
    </div>

    <div class="related-content">
      <div class="title">
        紹介 of Anemometer
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="56270248"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="MySQL 5.7が魅せる新しい運用の形"
    href="/yoku0825/mysql-57-56270248">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="MySQL 5.7が魅せる新しい運用の形"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/mysql5-151218102902-thumbnail-2.jpg?cb=1454483180" />
    </div>

    <div class="related-content">
      <div class="title">
        MySQL 5.7が魅せる新しい運用の形
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="54349575"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="MySQL5.7で遊んでみよう"
    href="/yoku0825/mysql57-54349575">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="MySQL5.7で遊んでみよう"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/mysql5-151025101525-lva1-app6892-thumbnail-2.jpg?cb=1454483186" />
    </div>

    <div class="related-content">
      <div class="title">
        MySQL5.7で遊んでみよう
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="53449734"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="MySQL 5.7にやられないためにおぼえておいてほしいこと"
    href="/yoku0825/mysql-57-53449734">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="MySQL 5.7にやられないためにおぼえておいてほしいこと"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/mysql5-151002054115-lva1-app6892-thumbnail-2.jpg?cb=1454483198" />
    </div>

    <div class="related-content">
      <div class="title">
        MySQL 5.7にやられないためにおぼえておいてほしいこと
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="52669804"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="光のMySQL 5.7"
    href="/yoku0825/mysql-57-52669804">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="光のMySQL 5.7"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/brightsideofmysql57-150911121423-lva1-app6891-thumbnail-2.jpg?cb=1454483203" />
    </div>

    <div class="related-content">
      <div class="title">
        光のMySQL 5.7
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="52276506"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="MySQLで論理削除と正しく付き合う方法"
    href="/yoku0825/mysql-52276506">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="MySQLで論理削除と正しく付き合う方法"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/ronsakucasual-150901031355-lva1-app6891-thumbnail-2.jpg?cb=1441077383" />
    </div>

    <div class="related-content">
      <div class="title">
        MySQLで論理削除と正しく付き合う方法
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="51945745"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="MySQL 5.7の罠があなたを狙っている"
    href="/yoku0825/mysql-57-51945745">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="MySQL 5.7の罠があなたを狙っている"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/trapsofmysql57-150822102232-lva1-app6892-thumbnail-2.jpg?cb=1454483215" />
    </div>

    <div class="related-content">
      <div class="title">
        MySQL 5.7の罠があなたを狙っている
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="49926023"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="Handlerさんコンニチワ"
    href="/yoku0825/handler-49926023">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="Handlerさんコンニチワ"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/handler-150628131201-lva1-app6892-thumbnail-2.jpg?cb=1454483231" />
    </div>

    <div class="related-content">
      <div class="title">
        Handlerさんコンニチワ
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

        <li class="j-related-item">
  <a data-ssid="49211487"
    data-algo-id=""
    data-source-name="MORE_FROM_USER"
    data-source-model=""
    data-urn-type="Slideshow"
    data-score=""
    class="j-related-impression slideview_related_item j-recommendation-tracking"
    title="今から備えるMySQL最新バージョン5.7"
    href="/yoku0825/mysql57">

    <div class="related-thumbnail">
      <img class="j-thumbnail j-lazy-thumb"
        alt="今から備えるMySQL最新バージョン5.7"
        src="//public.slidesharecdn.com/b/images/thumbnail.png"
        data-original="//cdn.slidesharecdn.com/ss_thumbnails/mysql5-150610090721-lva1-app6891-thumbnail-2.jpg?cb=1433927366" />
    </div>

    <div class="related-content">
      <div class="title">
        今から備えるMySQL最新バージョン5.7
      </div>

        <div class="author">yoku0825</div>

    </div>
  </a>
</li>

    </ul>

</div>

    </aside>
  </div>
</div>


<div id="first-clip-tour" class="hide">
</div>

<div id="clip-intention-tour" class="hide">
</div>




      

      

        <footer>
            <div class="row">
              <div class="columns">
                <div id="smt-lang-selector"></div>
                <ul class="j-languages-selector language-links text-center">
                  <li class="smt-item j-www">
                    <a class="smt-link"
                      href="http://www.slideshare.net/yoku0825/mysql-58490400?smtNoRedir=1"
                      title="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション - English" lang="en" hreflang="en">English
                    </a>
                  </li>
                  <li class="smt-item j-es">
                    <a class="smt-link"
                      href="http://es.slideshare.net/yoku0825/mysql-58490400"
                      title="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション - Espanol" lang="es" hreflang="es">Espanol
                    </a>
                  </li>
                  <li class="smt-item j-pt">
                    <a class="smt-link"
                      href="http://pt.slideshare.net/yoku0825/mysql-58490400"
                      title="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション - Portugues" lang="pt" hreflang="pt">Portugues
                    </a>
                  </li>
                  <li class="smt-item j-fr">
                    <a class="smt-link"
                      href="http://fr.slideshare.net/yoku0825/mysql-58490400"
                      title="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション - Fran&ccedil;ais" lang="fr" hreflang="fr">Fran&ccedil;ais
                    </a>
                  </li>
                  <li class="smt-item j-de">
                    <a class="smt-link"
                      href="http://de.slideshare.net/yoku0825/mysql-58490400"
                      title="イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション - Deutsche" lang="de" hreflang="de">Deutsche
                    </a>
                  </li>
                </ul>
              </div>
            </div>

          <div class="row">
            <div class="columns">
              <ul class="main-links text-center">
                <li><a href="/about">About</a></li>
                <li class="hidden-for-small"><a href="/developers">Dev & API</a></li>
                <li><a href="http://blog.slideshare.net/">Blog</a></li>
                <li><a href="/terms">Terms</a></li>
                <li><a href="/privacy">Privacy</a></li>
                <li><a href="http://www.linkedin.com/legal/copyright-policy">Copyright</a></li>
                <li class="hidden-for-small"><a href="https://www.linkedin.com/help/slideshare">Support</a></li>
              </ul>
            </div>
          </div>


          <div class="row">
            <div class="columns">
              <ul class="social-links text-center">
                <li>
                  <a title="Follow us on LinkedIn" href="http://www.linkedin.com/company/slideshare" class="fa fa-linkedin-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a title="Follow us on Facebook" href="http://www.facebook.com/slideshare" class="fa fa-facebook-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a title="Follow us on Twitter" href="http://twitter.com/SlideShare" class="fa fa-twitter-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a title="Follow us on Google+" href="http://www.google.com/+SlideShare" class="fa fa-google-plus-square fa-lg" rel="nofollow" target="_blank"></a>
                </li>
                <li>
                  <a href="http://www.slideshare.net/rss/latest" class="fa fa-rss-square fa-lg"></a>
                </li>
              </ul>
            </div>
          </div>

          <div class="row">
            <div class="columns">
              <p class="copyright text-center">LinkedIn Corporation &copy; 2016</p>
              <p></p>
            </div>
          </div>
        </footer>
    </div>

    <div id="alert-modal" class="reveal-modal" data-reveal="">
      <p></p>
      <a class="close-reveal-modal">×</a>
    </div>

    <div class="modal_popup_container">
          
<div id="clipboard-share-modal" class="reveal-modal small mobile-hide" aria-hidden="true" aria-labelledby="modal-title" role="dialog" data-reveal data-ga-track-category="" data-ga-track-action="" translate="no">
  <div class="j-modal-popup modal-popup">
    <div id="modal-content" class="j-modal-content">
      <h4 class="j-modal-title modal-title notranslate">Share Clipboard</h4>
      <hr />
      <a class="close-reveal-modal" href="#" aria-label="Close">&times;</a>
      <div class="section share-email">
        <form class="j-share-email-form">
          <h5>Email</h5>
          <input class="j-share-email-to j-email-clear notranslate" name="recipients" placeholder="Enter email addresses" title="Enter email addresses" type="text">
          <div class="clearfix">
            <input data-ga="name" class="j-share-email-name j-email-clear notranslate" name="name" type="text" placeholder="From" title="From">
            <textarea class="j-share-email-msg j-email-clear notranslate share-message-textarea" name="message" placeholder="Add a message" title="Add a message"></textarea>
            <div class="j-email-flash email-flash"></div>
            <input id="share-email-send"class="button btn btn-inverse email-send-button notranslate" title="Send" type="submit" value="Send">
          </div>
        </form>
        <div id="email-sent" class="j-email-sent sent-section">
          <span class="success-text notranslate">Email sent successfully..</span>
        </div>
      </div>
      <div class="row">
        <ul class="j-share-social-list share-social-list" data-canonical-url="">
          <li class="facebook" data-network="facebook">
            <a class="share-link"
              rel="nofollow"
              title="Share on Facebook">Facebook</a>
          </li>
          <li class="twitter" data-network="twitter">
            <a class="share-link"
              rel="nofollow"
              title="Tweet on Twitter">Twitter</a>
          </li>
          <li class="linkedin" data-network="linkedin">
            <a class="share-link"
              rel="nofollow"
              title="Share on LinkedIn">LinkedIn</a>
          </li>
          <li class="googleplus" data-network="googleplus">
            <div class="social-hover">
              <a class="share-link"
                rel="nofollow"
                title="Share on Google+">Google+</a>
            </div>
          </li>
        </ul>
      </div>
      <div class="row">
        <div class="share-link-container">
          <label for="share-link-url">Link</label>
          <input id="share-link-url" class="j-share-link-url" type="text" data-ga="link"></input>
        </div>
      </div>
    </div>
  </div>
</div>

    <div id="top-clipboards-modal"
     class="reveal-modal xlarge top-clipboards-modal"
     data-reveal
     aria-labelledby="modal-title"
     aria-hidden="true"
     role="dialog">
  <h4 class="modal-title">Public clipboards featuring this slide</h4>
  <hr />
  <button class="close-reveal-modal button-lrg" aria-label="Close">&times;</button>
  <div class="loading text-center">
    <svg><use data-size="small" xlink:href="#loader"></use></svg>
  </div>
  <div class="empty">
    No public clipboards found for this slide
  </div>

  <div class="clipboards row">
    <ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3"></ul>
  </div>
</div>

    
<div id="download-interstitial-modal" class="download-interstitial reveal-modal medium" aria-hidden="false" role="dialog" data-reveal>
  <div class="modal-content-container">
    <a class="close-reveal-modal" href="#" aria-label="Close">&times;</a>
    <div class="modal-content">
      <div class="modal-inner-content">
        <div class="row">
          <h3 class="text-center">Save the most important slides with Clipping</h3>
        </div>
        <div class="row">
          <!-- make only 8/12 columns and centered -->
          <div class="medium-10 small-centered columns">
            <p class="text-center">Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.</p>
            <button class="art-deco small primary start-clipping">Start clipping</button>
            <button class="art-deco small tertiary button continue-download" data-reveal-id="login_modal" href="/login?from_source=%2Fyoku0825%2Fmysql-58490400%3Ffrom_action%3Dsave&amp;from=download&amp;layout=foundation">No thanks. Continue to download.</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

    <div id="select-clipboard-modal" class="reveal-modal medium" data-reveal aria-labelledby="modal-title" aria-hidden="true" role="dialog" translate="no">
  <div class="modal-header-container">
    <h4 class="modal-title">Select another clipboard</h4>
    <hr />
    <a class="close-reveal-modal button-lrg" href="#" aria-label="Close">&times;</a>
  </div>

  <div class="loading">
    <svg><use data-size="small" xlink:href="#loader"></use></svg>
  </div>

  <div class="modal-content">

    <div class="default-clipboard-panel radius">
      <p>Looks like you’ve clipped this slide to <strong class="default-clipboard-title"></strong> already.</p>
    </div>

    <div class="clipboard-search-input-container">
      <i class="fa fa-search"></i>
      <input class="clipboard-search-input" type="text" placeholder="Search for a clipboard">
    </div>

    <div class="clipboard-list-container">
      <ul class="existing-clipboard-list"></ul>
      <ul class="clipboard-list"></ul>
      <div class="clipboard-create-new">
        <div class="clipboard-item-thumb">
          <i class="fa fa-plus"></i>
        </div>
        <div class="clipboard-item-title">Create a clipboard</div>
      </div>
    </div>
  </div>
</div>

    <div id="clipboard-create-modal" class="reveal-modal medium" data-reveal aria-labelledby="modal-title" aria-hidden="true" role="dialog" translate="no">
    <div class="first-clip-message hide">
      <h3>You just clipped your first slide!</h3>
      <span>
        Clipping is a handy way to collect important slides you want to go back to later. Now customize the name of a clipboard to store your clips.
      </span>
    </div>
    <h4 class="modal-title"></h4>
    <hr />
    <form data-abide>
    <div class="row">
      <div class="j-title-wrapper input-wrapper notranslate">
        <label>Name*
          <input type="text" class="j-title-input" placeholder="Best of Slides"/>
          <small class="j-title-error error hide"></small>
        </label>
      </div>
    </div>

    <div class="row">
      <div class="j-description-wrapper input-wrapper notranslate">
        <label>Description
          <input type="text" class="j-description-input" placeholder="Add a brief description so others know what your Clipboard is about."/>
          <small class="j-description-error error hide"></small>
        </label>
      </div>
    </div>

    <div class="row">
      <label>Visibility
        <div class="switch small notranslate">
          <small id="privacy-switch-description">Others can see my Clipboard</small>
          <input id="privacy-switch" class="j-privacy-input" type="checkbox" />
          <label for="privacy-switch"></label>
        </div>
      </label>
    </div>

        <div class="row">
          <div class="pull-right">
            <button class="j-cancel-button button-ghost small notranslate" type="button">Cancel</button>
            <button class="j-submit-button button-linkedin small notranslate" type="submit">Save</button>
          </div>
        </div>
    </form>
    <input type="hidden" class="j-i18n-edit-clipboard-modal" value='{&quot;privacyDisabled&quot;:&quot;Others can see my Clipboard&quot;,&quot;formTitleEdit&quot;:&quot;Edit Clipboard&quot;,&quot;formTitleCreate&quot;:&quot;Create a clipboard&quot;,&quot;privacyEnabled&quot;:&quot;Clipboard is visible only to me.&quot;}'
    />

</div>


    </div>

    <script src="http://public.slidesharecdn.com/b/ss_foundation/combined_foundation_base.js?e47510242e" type="text/javascript"></script>

    <script>
      $(window).load(function() {
        loadCSS("//public.slidesharecdn.com/b/ss_foundation/stylesheets/app.css?c8b7c75b9b4751feeb9324de6c029558bfa9fd61");
      });
    </script>

    
  <meta content="{&quot;clipping.select_clipboard_modal.select_another_clipboard&quot;:&quot;Select another clipboard&quot;,&quot;lynda.tld&quot;:&quot;.com&quot;,&quot;selected&quot;:&quot;Selected&quot;,&quot;share&quot;:&quot;Share&quot;,&quot;lynda.domain&quot;:&quot;lynda&quot;,&quot;clipping.toast.change_clipboard&quot;:&quot;Change clipboard&quot;,&quot;lynda.premium_video&quot;:&quot;PREMIUM VIDEO&quot;,&quot;views.other&quot;:&quot;views&quot;,&quot;clipping.select_clipboard_modal.select_new_clipboard&quot;:&quot;Select a new clipboard&quot;,&quot;select&quot;:&quot;Select&quot;,&quot;clipping.toast.share_clip&quot;:&quot;Share clip&quot;,&quot;right_rail.recommended&quot;:&quot;Recommended&quot;}" name="ss-i18n-translations" />

  <script type="text/javascript">
    $.extend(slideshare_object, {"key":false,"presentationId":58490400,"stats":{"url":"http://www.slideshare.net/~/slideshow/stats/58490400.json"},"version_no":"1455949285","comments":{"ajaxurl":"/~/slideshow/comments/58490400.json","total_count":0,"captcha_url":"http://s3.amazonaws.com/ss-captchas/"},"show_branding":1,"pvt":0,"embeds_count":1,"category":{"featured":0},"bizo_partner_id":870,"stripped_title":"mysql-58490400","beacon_url":"stats.slideshare.net/1.gif","slideshow":{"wp_code":"[slideshare id=58490400\u0026doc=mysql-160220062031]","type":"presentation","facade_slide_url":"http://image.slidesharecdn.com/mysql-160220062031/95/mysql-1-638.jpg?cb=1455949285","id":"58490400","recommendations":{"designKey":"design_001","finalRankerModel":"model_001"},"clip_counts":{"1":1},"lead_form_url":"https://www.slideshare.net/slideshow/GsV4Z3O6m7f3eJ/lead-form","embed_sizes":{"presets":{"preset3":{"size":{"width":510,"height":420},"displaySize":{"width":60,"height":45}},"preset4":{"size":{"width":595,"height":485},"displaySize":{"width":70,"height":53}},"preset1":{"size":{"width":340,"height":290},"displaySize":{"width":40,"height":30}},"preset2":{"size":{"width":425,"height":355},"displaySize":{"width":50,"height":38}}},"config":{"defaultPreset":"preset4"}},"clickgen_url":null,"clips":{},"view_action_state":"unpublished","iframe_url":"https://www.slideshare.net/slideshow/embed_code/key/GsV4Z3O6m7f3eJ","zeroclipboard_url":"http://static.slidesharecdn.com/ZeroClipboardv2.swf","is_clickgen_enabled":false,"fullscreen_bg_color":"Black","iframe_code":"\u003Ciframe src=\"{iframe_url}\" width=\"{width}\" height=\"{height}\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003E \u003C/iframe\u003E \u003Cdiv style=\"margin-bottom:5px\"\u003E \u003Cstrong\u003E \u003Ca href=\"https://www.slideshare.net/yoku0825/mysql-58490400\" title=\"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\" target=\"_blank\"\u003E\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u003C/a\u003E \u003C/strong\u003E from \u003Cstrong\u003E\u003Ca target=\"_blank\" href=\"http://www.slideshare.net/yoku0825\"\u003Eyoku0825\u003C/a\u003E\u003C/strong\u003E \u003C/div\u003E","is_author_premium":false,"is_clippable":true,"is_private":false,"mobile_app_url":"slideshare-app://ss/58490400","social_urls":{"linkedin":"https://www.linkedin.com/cws/share?url=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400\u0026trk=SLIDESHARE","twitter":"https://twitter.com/intent/tweet?via=SlideShare\u0026text=%E3%82%A4%E3%83%AB%E3%82%AB%E3%81%95%E3%82%93%E3%83%81%E3%83%BC%E3%83%A0%E3%81%8B%E3%82%89%E3%82%BE%E3%82%A6%E3%81%95%E3%82%93%E3%83%81%E3%83%BC%E3%83%A0%E3%81%AB%E6%95%99%E3%81%88%E3%81%9F%E3%81%84MySQL%E3%83%AC%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3+%23mysql+http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400","google":"https://plus.google.com/share?url=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400","facebook":"https://facebook.com/sharer.php?u=http%3A%2F%2Fwww.slideshare.net%2Fyoku0825%2Fmysql-58490400\u0026t=%E3%82%A4%E3%83%AB%E3%82%AB%E3%81%95%E3%82%93%E3%83%81%E3%83%BC%E3%83%A0%E3%81%8B%E3%82%89%E3%82%BE%E3%82%A6%E3%81%95%E3%82%93%E3%83%81%E3%83%BC%E3%83%A0%E3%81%AB%E6%95%99%E3%81%88%E3%81%9F%E3%81%84MySQL%E3%83%AC%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3"},"user_login":"yoku0825","pin_image_url":"http://cdn.slidesharecdn.com/ss_thumbnails/mysql-160220062031-thumbnail-4.jpg?cb=1455949285","user_name":"yoku0825","total_slides":134,"ss_url":"http://www.slideshare.net/yoku0825/mysql-58490400","allow_embeds":true,"allow_clips":true,"title":"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3"},"facebook_app_id":"2490221586","doc":"mysql-160220062031","downloads":{"allow":true,"sp_isdwnl":true},"analytics_api_enabled":true,"preview":"no","jsplayer":{"disable_lastscreen":false,"wp_code":"[slideshare id=58490400\u0026doc=mysql-160220062031]","twitter_recommended_users":null,"has_video":false,"video_slides_count":0,"hosted_in":"slideview","ppt_location":"mysql-160220062031","id":58490400,"bucket_location":"//html.slidesharecdn.com/mysql-160220062031/","autoplayOnEmbed":false,"preload_after_pageload":true,"embed_sizes":{"presets":{"preset3":{"size":{"width":510,"height":420},"displaySize":{"width":60,"height":45}},"preset4":{"size":{"width":595,"height":485},"displaySize":{"width":70,"height":53}},"preset1":{"size":{"width":340,"height":290},"displaySize":{"width":40,"height":30}},"preset2":{"size":{"width":425,"height":355},"displaySize":{"width":50,"height":38}}},"config":{"defaultPreset":"preset4"}},"player_type":"presentation","slide_count":134,"share_text":"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 by yoku0825 via slideshare","beacon_url":"stats.slideshare.net/1.gif","stripped_title":"mysql-58490400","html_eotfont_url_suffix":"-eot.js","author_id":51862050,"show_related_content":"1","fullscreen_bgcolor":"jsplBgColorBlack","related_position":0,"twitter_share_text":"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 #mysql","sharescreen":{"slideshow_id":58490400,"html":"\u003Cdiv class=\"shareScreen\"\u003E\n  \u003Ca href=\"#\" class=\"close\"\u003E\u0026times;\u003C/a\u003E\n  \u003Cul class=\"shareMethods\"\u003E\n    \u003Cli class=\"embed\"\u003E\n      \u003Clabel for=\"embed-code\"\u003EEmbed\u003C/label\u003E\n      \u003Cinput type='text' class=\"shareScreenEmbedCode\" value=\"code\" name=\"embed-code\" /\u003E\n    \u003C/li\u003E\n    \u003Cli class=\"url last\"\u003E\n      \u003Clabel for=\"embed-url\"\u003EURL\u003C/label\u003E\n      \u003Cinput type='text' class=\"shareScreenSSUrl\" value=\"code\" name=\"embed-url\" /\u003E\n    \u003C/li\u003E\n  \u003C/ul\u003E\n  \u003Cform class=\"emailShare\"\u003E\n    \u003Cfieldset\u003E\n      \u003Clegend\u003EEmail this\u003C/legend\u003E\n      \u003Cinput type=\"hidden\" class=\"shareDefaultMessage\" value=\"I think you will find this useful.\" /\u003E\n      \u003Cul\u003E\n        \u003Cli\u003E\n          \u003Clabel for=\"name\"\u003EYour name\u003C/label\u003E\n          \u003Cinput class='shareScreenFromName' type=\"text\" value=\"\" /\u003E\n        \u003C/li\u003E\n        \u003Cli\u003E\n          \u003Clabel for=\"mailID\"\u003EEmail to\u003C/label\u003E\n          \u003Cinput class=\"shareScreenMailID\" type=\"text\" value=\"\" /\u003E\n        \u003C/li\u003E\n        \u003Cli class=\"submit\"\u003E\n          \u003Clabel\u003E\u0026nbsp;\u003C/label\u003E\n          \u003Cinput class=\"shareSprite\" type=\"submit\" value=\"\" /\u003E\n        \u003C/li\u003E\n      \u003C/ul\u003E\n      \u003C/fieldset\u003E\n  \u003C/form\u003E\n\u003C/div\u003E\u003C!-- shareScreen ends here --\u003E\n","user_name":"","url":"http://www.slideshare.net/yoku0825/mysql-58490400","title":"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7..."},"iframe_url":"//www.slideshare.net/slideshow/embed_code/key/GsV4Z3O6m7f3eJ","is_only_private":false,"spinner_url_fullscreen":"//public.slidesharecdn.com/b/images/ssplayer/loading_black.gif?468e48bc3a","image_ready":true,"fullscreen_url":"/fullscreen/yoku0825/mysql-58490400","slide_error_template":"\u003Cstyle type=\"text/css\"\u003E\n  .jsplayer-slide-error {\n    background-color: #000;\n    padding: 20% 0 13% !important;\n  }\n  .jsplayer-slide-error div {\n    text-align: center;\n  }\n  .jsplayer-slide-error img {\n    height: 79px !important;\n    margin: 0 0 10px;\n    width: 80px !important;\n  }\n  .jsplayer-slide-error .slide-error-body {\n    color: #eee;\n    font-family: 'Lucida Grande',Verdana, Arial, Helvetica, sans-serif;\n    padding: 0 !important;\n  }\n  .jsplayer-slide-error .slide-error-body p {\n    font-size: 0.8em;\n    line-height: 1.1em;\n    margin: 7px 0 11px;\n  }\n  .jsplayer-slide-error .slide-error-body input[type=button] {\n    margin: 7px 0 0;\n    padding: 7px 14px;\n  }\n\u003C/style\u003E\n\u003Cdiv class=\"jsplayer-slide-error\"\u003E\n  \u003Cdiv style=\"position:relative;\"\u003E\n    \u003Cimg src='//public.slidesharecdn.com/b/images/ssplayer/error_dudes-80x79.png' height=\"79\" width=\"80\" /\u003E\n    \u003Cdiv class=\"slide-error-body\"\u003E\n      \u003Cp\u003EWe were unable to load the slide.\u003C/p\u003E\n      \u003Cinput class=\"btn btn-large\" type=\"button\" value=\"Reload slide\" /\u003E\n    \u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E\n","disable_eagerload":true,"next_slideshow_pos":null,"html_ttffont_url_suffix":".js","render_links":"default","bambooleaf_hash":false,"iframe_code":"\u003Ciframe src=\"{iframe_url}\" width=\"{width}\" height=\"{height}\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003E \u003C/iframe\u003E \u003Cdiv style=\"margin-bottom:5px\"\u003E \u003Cstrong\u003E \u003Ca href=\"https://www.slideshare.net/yoku0825/mysql-58490400\" title=\"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\" target=\"_blank\"\u003E\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u003C/a\u003E \u003C/strong\u003E from \u003Cstrong\u003E\u003Ca target=\"_blank\" href=\"http://www.slideshare.net/yoku0825\"\u003Eyoku0825\u003C/a\u003E\u003C/strong\u003E \u003C/div\u003E","start_slide":1,"disable_share":false,"embed_code":"\u003Ciframe src=\"https://www.slideshare.net/slideshow/embed_code/key/GsV4Z3O6m7f3eJ\" width=\"597\" height=\"486\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen\u003E \u003C/iframe\u003E \u003Cdiv style=\"margin-bottom:5px\"\u003E \u003Cstrong\u003E \u003Ca href=\"https://www.slideshare.net/yoku0825/mysql-58490400\" title=\"\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\" target=\"_blank\"\u003E\u30a4\u30eb\u30ab\u3055\u3093\u30c1\u30fc\u30e0\u304b\u3089\u30be\u30a6\u3055\u3093\u30c1\u30fc\u30e0\u306b\u6559\u3048\u305f\u3044MySQL\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u003C/a\u003E \u003C/strong\u003E from \u003Cstrong\u003E\u003Ca target=\"_blank\" href=\"http://www.slideshare.net/yoku0825\"\u003Eyoku0825\u003C/a\u003E\u003C/strong\u003E \u003C/div\u003E","mode":"image","bambooleaf_enabled":null,"is_private":false,"replayscreen":{"html":"\u003Ca href=\"#\" class=\"j-replay-button replay-button\" \u003E\n  \u003Ci class=\"fa fa-refresh\"\u003E\u003C/i\u003E\n  View again\n\u003C/a\u003E\n"},"image_bucket_location":"//image.slidesharecdn.com/mysql-160220062031","track_slide_enable":1,"pin_image_url":"http://image.slidesharecdn.com/mysql-160220062031/95/mysql-1-638.jpg?cb=1455949285","next_prev_experiment":true,"slide_titles":[],"spinner_url":"//public.slidesharecdn.com/b/images/ssplayer/loading_bigfoot.gif?8d8fb5905f","toolbar_html":"\n\u003C!-- using div.bar-[top, bottom]-margin to fix toolbar spacing with a taller progressbar (improve slide scrubbing UX) --\u003E\n\u003Cdiv class=\"j-progress-bar progress-bar-wrapper\"\u003E\n  \u003Cdiv class=\"progress-bar-spacing\"\u003E\u003C/div\u003E\n  \u003Cdiv class=\"buffered-bar\"\u003E\u003C/div\u003E\n  \u003Cdiv class=\"j-slides-loaded-bar progress-bar\"\u003E\u003C/div\u003E\n  \u003Cdiv class=\"j-progress-tooltip progress-tooltip\" style=\"display: none;\"\u003E\n    \u003Cdiv class=\"j-tooltip-content progress-tooltip-wrapper\"\u003E\n      \u003Cimg class=\"j-tooltip-thumb tooltip-thumb\" onerror=\"this.src=''\"\n      \u003E\n      \u003Cspan class=\"j-slidecount-label slidecount-label\"\u003E1\u003C/span\u003E\n    \u003C/div\u003E\n    \u003Cdiv class=\"progress-tooltip-caret\"\u003E\u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E\n\u003Cdiv class=\"progress-bar-spacing\"\u003E\u003C/div\u003E\n\n\n\n\u003Cdiv class=\"j-tools bot-actions\"\u003E\n\u003C/div\u003E\u003C!-- .bot-actions --\u003E\n\n\n  \u003Cdiv class=\"j-tools bot-actions\"\u003E\n    \u003Ca data-tooltip\n      aria-haspopup=\"true\"\n      style=\"display: none\"\n      class=\"j-tooltip j-download action-download has-tip\"\n      title=\"Save this \"\n      href=\"/login?from_source=%2Fyoku0825%2Fmysql-58490400%3Ffrom_action%3Dsave\u0026amp;from=download\u0026amp;layout=foundation\"\n      data-target=\"#login_modal\"\n      data-placement=\"top\"\u003E\n      \u003Ci class=\"fa fa-download fa-lg\" style=\"margin-top: 1px;\"\u003E\u003C/i\u003E\n    \u003C/a\u003E\n  \u003C/div\u003E\n\n\n\n\n  \u003Cdiv class=\"nav\"\u003E\n      \u003Cbutton id=\"btnPrevious\" title=\"Previous Slide\"\u003E\n        \u003Cdiv class=\"j-prev-btn arrow-left disabled\"\u003E\u003C/div\u003E\n      \u003C/button\u003E\n    \u003Clabel class=\"goToSlideLabel\"\u003E\n      \u003Cspan id=\"current-slide\" class=\"j-current-slide\"\u003E1\u003C/span\u003E of \u003Cspan id=\"total-slides\" class=\"j-total-slides\"\u003E134\u003C/span\u003E\n    \u003C/label\u003E\n      \u003Cbutton id=\"btnNext\" title=\"Next Slide\"\u003E\n        \u003Cdiv class=\"j-next-btn arrow-right\"\u003E\u003C/div\u003E\n      \u003C/button\u003E\n  \u003C/div\u003E\n\n\n\n\u003Cdiv class=\"navActions\"\u003E\n\n\n\n    \u003Cbutton id=\"btnFullScreen\" class=\"j-tooltip btnFullScreen\" title=\"View Fullscreen\"\u003E\n      \u003Cspan class=\"fa fa-stack\"\u003E\n        \u003Ci class=\"fa fa-expand fa-stack-1x\"\u003E\u003C/i\u003E\n      \u003C/span\u003E\n    \u003C/button\u003E\n    \u003Cbutton id=\"btnLeaveFullScreen\" class=\"j-tooltip btnLeaveFullScreen\" title=\"Exit Fullscreen\"\u003E\n      \u003Cspan class=\"fa-stack\"\u003E\n        \u003Ci class=\"fa fa-compress fa-stack-1x\"\u003E\u003C/i\u003E\n      \u003C/span\u003E\n    \u003C/button\u003E\n\n\u003C/div\u003E\n\n","lastscreen":{"related":[{"url":"/graiz/design-and-development-better-together","views":4571,"thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/design-and-development-better-together-160219022451-thumbnail.jpg?cb=1455917683","author_login":"graiz","author":"Greg Raiz","title":"Design and development better together"},{"url":"/mikecrabb/introduction-to-development-for-the-internet","views":1663,"thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/introduction-to-development-160219134437-thumbnail.jpg?cb=1455917551","author_login":"mikecrabb","author":"Mike Crabb","title":"Introduction to Development for the..."},{"url":"/GlobalCollect/ingenico-e-payments-infographic-valentines-day","views":1311,"thumbnail":"//cdn.slidesharecdn.com/ss_cropped_thumbnails/ingenicoepaymentsinfographicvalentinesday-160219102315/thumbnail-small.jpg?cb=1455902906","author_login":"GlobalCollect","author":"Ingenico ePayments","title":"Valentine's Day"},{"url":"/Socialab/selfies-are-dead-long-live-the-user-generated-content","views":3018,"thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/allthings16final-160219093033-thumbnail.jpg?cb=1455902866","author_login":"Socialab","author":"Socialab","title":"Selfies are dead. Long live the use..."},{"url":"/tomrichey/trump-and-hitler-compared","views":2013,"thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/trump-and-hitler-compared-160219141802-thumbnail.jpg?cb=1455902529","author_login":"tomrichey","author":"Tom Richey","title":"Trump and Hitler Compared"},{"url":"/HubSpot/zero-to-ipo-lessons-from-unlikely-story-of-hubspot","views":11240,"thumbnail":"//cdn.slidesharecdn.com/ss_thumbnails/saastrdharmesh2016-160219150149-thumbnail.jpg?cb=1455902427","author_login":"HubSpot","author":"HubSpot","title":"Zero to IPO: Lessons From Unlikely ..."}],"url":"http://www.slideshare.net/yoku0825/mysql-58490400"},"use_ssl":false,"player_bgcolor":"jsplBgColorBigfoot","inpage_full_screen":true,"bambooleaf_presentation":false,"show_image_player":true,"container":"svPlayerId","rel_slide_urls":[],"meta_error_template":"\u003Cstyle type=\"text/css\"\u003E\n  .jsplayer-slide-error {\n    background-color: #000;\n    padding: 20% 0 13% !important;\n  }\n  .jsplayer-slide-error div {\n    text-align: center;\n  }\n  .jsplayer-slide-error img {\n    height: 79px !important;\n    margin: 0 0 10px;\n    width: 80px !important;\n  }\n  .jsplayer-slide-error .slide-error-body {\n    color: #eee;\n    font-family: 'Lucida Grande',Verdana, Arial, Helvetica, sans-serif;\n    padding: 0 !important;\n  }\n  .jsplayer-slide-error .slide-error-body p {\n    font-size: 0.8em;\n    line-height: 1.1em;\n    margin: 8px 0;\n  }\n  .jsplayer-slide-error .slide-error-body input[type=button] {\n    margin: 7px 0 0;\n    padding: 7px 14px;\n  }\n\u003C/style\u003E\n\u003Cdiv class=\"jsplayer-slide-error\"\u003E\n  \u003Cdiv style=\"position:relative;\"\u003E\n    \u003Cimg src='//public.slidesharecdn.com/b/images/ssplayer/error_dudes-80x79.png' height=\"79\" width=\"80\" /\u003E\n    \u003Cdiv class=\"slide-error-body\"\u003E\n      \u003Cp\u003EWe have encountered an error.\u003C/p\u003E\n      \u003Cp\u003EPlease refresh the page.\u003C/p\u003E\n    \u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E\n","page":1,"timestamp":1455949285,"slideview_url":"/yoku0825/mysql-58490400"},"totalSlides":134,"asset_id":"c8b7c75b9b4751feeb9324de6c029558bfa9fd61","startSlide":1,"is_free_author":false,"userimage_placeholder":"//public.slidesharecdn.com/b/images/user-48x48.png","gam_cat_name":"technology","flagging":{"flagged_value":null},"relative_static_origin_server":"//public.slidesharecdn.com/b/","li_sponsored_content_related":{"url":"https://www.linkedin.com/csp/javascript","placeholders":[{"id":"sponsored-content-1","position":0}]},"slideshow_placeholder":"//public.slidesharecdn.com/b/images/thumbnail.png","li_bar":{"get_url":"/li_bar"},"top_nav":{"get_url":"/top_nav"},"activities":{"favorites":{"total":4,"url":"/~/slideshow/favorites_list/58490400.json","count":4}},"default_tab":".svMoreAuthor","useHttp":1,"fb_app_name":"slideshare","user":{"clipboards":null,"clips_number":0,"member_type":"non-member","clipboards_url":null},"dev":false});
  </script>

    <script src="http://public.slidesharecdn.com/b/ss_foundation/combined_player_presentation_init.js?6677ee90d9" type="text/javascript"></script>

    <script type="text/javascript">
      $(document).ready(function() {
        var $el = $('#svPlayerId');
        var classMap = {
          'document': 'document_player',
          'html': 'html_player',
          'infographic': 'infographic_player',
          'video': 'video_player'
        }

        player = new SSPlayer(slideshare_object.jsplayer);
        $(player).bind('slidechanged', function(e) {
          if (typeof(loadDataForSlide) === 'function') {
            loadDataForSlide(e.ssData.index);
          }
        });

        $el.addClass(classMap[player.config.player_type]);
      });
    </script>



  <script>

      slideshare_object.add_signin_link('.j-favorite');
      slideshare_object.add_login_source('.j-favorite', 'slideview.top_toolbar.like');
      slideshare_object.add_login_source('.j-save', 'slideview.top_toolbar.download');
      slideshare_object.addSigninFrom('.j-favorite', 'favorite');
      slideshare_object.bindToModalLogin('.j-favorite');
      slideshare_object.bindToModalLogin('.j-save');

    slideshare_object.bind_favorites('#slideview-container');

    $(document).ready(function() {

      // Favorites update

      // Remove some sidebar list items to limit the sidebar's height
      var mainContentHeight = $("#main-panel").height();
      var sidePanelItemHeight = $("#side-panel .j-related-item").first().outerHeight();
      var numItemToDisplay = Math.floor((mainContentHeight - 200) / sidePanelItemHeight);

      $("#side-panel .tabs-content .content").each(function() {
        $(this).find(".j-related-item").slice(numItemToDisplay - 2).remove();
      });

        var loadAdditionalFunctionality = function() {
          e = document.createElement('script');
          e.type = 'text/javascript';
          e.async = true;
          e.src =  '//public.slidesharecdn.com/b/ss_foundation/combined_slideview_loggedout.js?c8b7c75b9b4751feeb9324de6c029558bfa9fd61';
          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s);
        };

        $(window).load(function() {
          loadAdditionalFunctionality();
        });


      // Load additionnal css
      $(window).load(function() {
        loadCSS("//public.slidesharecdn.com/b/ss_foundation/stylesheets/slideview.css?c8b7c75b9b4751feeb9324de6c029558bfa9fd61");
      });
    });
  </script>

  

  <noscript>
    <img height="1" width="1" alt="" style="display:none;"
      src="//www.bizographics.com/collect/?pid=870&fmt=gif" alt="Bizographics tracking image" />
  </noscript>


  </body>
</html>
