List:Commits« Previous MessageNext Message »
From:jon Date:February 13 2008 1:35pm
Subject:svn commit - mysqldoc@docsrva: r9819 - in trunk: refman-5.1 refman-common/images/published refman-common/images/source
View as plain text  
Author: jstephens
Date: 2008-02-13 14:35:03 +0100 (Wed, 13 Feb 2008)
New Revision: 9819

Log:

Added working file for multi-master-upgrade doc in progress




Added:
   trunk/refman-5.1/replication-multi-master-upgrade.xml
   trunk/refman-common/images/published/rpl-circular-upgrade-1.png
   trunk/refman-common/images/source/rpl-circular-upgrade-1.dia
   trunk/refman-common/images/source/rpl-circular-upgrade-2.dia

Property changes on: trunk/refman-common/images/published/rpl-circular-upgrade-1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Property changes on: trunk/refman-common/images/source/rpl-circular-upgrade-1.dia
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Property changes on: trunk/refman-common/images/source/rpl-circular-upgrade-2.dia
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream


Added: trunk/refman-5.1/replication-multi-master-upgrade.xml
===================================================================
--- trunk/refman-5.1/replication-multi-master-upgrade.xml	                        (rev 0)
+++ trunk/refman-5.1/replication-multi-master-upgrade.xml	2008-02-13 13:35:03 UTC (rev 9819)
Changed blocks: 1, Lines Added: 125, Lines Deleted: 0; 3821 bytes

@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY % all.entities SYSTEM "all-entities.ent">
+%all.entities;
+]>
+<section id="replication-multi-master-upgrade">
+
+  <title>Upgrading Multi-Master Replication</title>
+
+  <para>
+    This section discusses how to upgrade the MySQL server software on
+    several machines in a circular replication setup from an older
+    version to a newer version of the software without taking the entire
+    system offline.
+  </para>
+
+  <para>
+    Assume that we have three servers, A, B, and C, running MySQL
+    version X, replicating in a circle, as shown in this diagram:
+
+    <mediaobject>
+      <imageobject>
+        <imagedata fileref="../refman-common/images/published/" format="PNG"/>
+      </imageobject>
+      <textobject>
+        <phrase lang="en">Circular replication with 3 MySQL
+        servers</phrase>
+      </textobject>
+    </mediaobject>
+
+    We also assume that servers A, B, and C have server IDs 1, 2, and 3,
+    respectively.
+  </para>
+
+  <para>
+    Our objective is to upgrade, in turn, all three machines from MySQL
+    version X to a newer MySQL version Y without taking the system as a
+    whole out of production. We start with server C, which acts as a
+    slave of server B and a master of server A. To upgrade this server,
+    we need to perform the following steps:
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          Stop sending new events from B to C, and from C to A
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Ensure that A has executed all events sent to it from C (up
+          until the time that C quit sending events to A)
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Start sending events from B to A, beginning with the first
+          event that was not sent from B to C, and ensure that A is
+          executing these events
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Shut down C, upgrade the MySQL software from version X to
+          version Y, then restart C
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Stop sending events from B to A, and ensure that A has
+          executed all events sent to it from B
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Start sending events from B to C and executing them on C,
+          ensuring that the first event not sent to A is the first event
+          sent to C
+        </para>
+      </listitem>
+
+      <listitem>
+        <para></para>
+      </listitem>
+
+    </orderedlist>
+  </para>
+
+  <para>
+    Each MySQL server involved in replication records those events that
+    have been sent to it from another server for execution, as well as
+    those events which it sends to another server to be executed by it.
+    For server C, at a given point in time, we need to determine the
+    following:
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          Which events have been received by server C from server B
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Which events, received by server C from server B, have been
+          executed on server C
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Which events have been sent by server C to server A
+        </para>
+      </listitem>
+
+    </orderedlist>
+  </para>
+
+</section>


Added: trunk/refman-common/images/published/rpl-circular-upgrade-1.png
===================================================================


Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 357 bytes


Added: trunk/refman-common/images/source/rpl-circular-upgrade-1.dia
===================================================================


Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 351 bytes


Added: trunk/refman-common/images/source/rpl-circular-upgrade-2.dia
===================================================================


Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 351 bytes


Thread
svn commit - mysqldoc@docsrva: r9819 - in trunk: refman-5.1 refman-common/images/published refman-common/images/sourcejon13 Feb