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/source | jon | 13 Feb |