List:Commits« Previous MessageNext Message »
From:jon Date:February 18 2008 11:37am
Subject:svn commit - mysqldoc@docsrva: r9892 - trunk/refman-5.1
View as plain text  
Author: jstephens
Date: 2008-02-18 12:36:59 +0100 (Mon, 18 Feb 2008)
New Revision: 9892

Log:

More text

′ -> ' (PDF barfed)



Modified:
   trunk/refman-5.1/replication-multi-master-upgrade.xml


Modified: trunk/refman-5.1/replication-multi-master-upgrade.xml
===================================================================
--- trunk/refman-5.1/replication-multi-master-upgrade.xml	2008-02-18 11:35:51 UTC (rev 9891)
+++ trunk/refman-5.1/replication-multi-master-upgrade.xml	2008-02-18 11:36:59 UTC (rev 9892)
Changed blocks: 2, Lines Added: 158, Lines Deleted: 34; 7052 bytes

@@ -119,11 +119,12 @@
 
 <programlisting>
 USE test;
-CREATE TABLE marker (col INT);
+CREATE TABLE marker1 (col INT);
 </programlisting>
 
-            The composition of the table is completely arbitrary; the
-            only requirement is that the statement used as the
+            The composition of the table is completely arbitrary; in
+            fact, the type of statement is itself completely arbitrary.
+            The only requirement is that the statement used as the
             <quote>marker</quote> be unique.
           </para>
 

@@ -334,53 +335,176 @@
           </para>
 
         </formalpara>
-      </listitem>
 
-    </orderedlist>
-    
-    C is now isolated from the other two servers, which are now
-    replicating to each other, as shown here:
-    
-    
-    <mediaobject>
-      <imageobject>
-        <imagedata fileref="../refman-common/images/published/rpl-circular-upgrade-4.png" format="PNG"/>
-      </imageobject>
-      <textobject>
-        <phrase lang="en">Servers A and B in mutual replication; C is
-          isolated</phrase>
-      </textobject>
-    </mediaobject>
-    
-    <itemizedlist>
+        <para>
+          C is now isolated from the other two servers, which are now
+          replicating to each other, as shown here:
 
-      <listitem>
-        <para>
-          Shut down C, upgrade the MySQL software from version X to
-          version Y, then restart C
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="../refman-common/images/published/rpl-circular-upgrade-4.png" format="PNG"/>
+            </imageobject>
+            <textobject>
+              <phrase lang="en">Servers A and B in mutual replication; C
+              is isolated</phrase>
+            </textobject>
+          </mediaobject>
         </para>
       </listitem>
 
       <listitem>
+        <formalpara>
+
+          <title>Upgrade C to C&apos;</title>
+
+          <para>
+            Shut down C, and upgrade the MySQL software on C from
+            version X to version Y:
+
+            <mediaobject>
+              <imageobject>
+                <imagedata fileref="../refman-common/images/published/rpl-circular-upgrade-5.png" format="PNG"/>
+              </imageobject>
+              <textobject>
+                <phrase lang="en">Upgrading Server C running MySQL
+                version X to C&apos;, running MySQL version Y</phrase>
+              </textobject>
+            </mediaobject>
+
+            We refer to the upgraded server C as C&apos;.
+          </para>
+
+        </formalpara>
+
         <para>
-          Stop sending events from B to A, and ensure that A has
-          executed all events sent to it from B
+          For general information about performing upgrades, see the
+          <citetitle>Upgrading MySQL</citetitle> section of the
+          <citetitle>MySQL Manual</citetitle> corresponding to the
+          versions from which and to which you are upgrading.
         </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>
+        <formalpara>
+
+          <title>Start C&apos; in offline mode</title>
+
+          <para>
+            Start server C&apos;, insuring that all its tables are in
+            read-only mode, and that no MySQL clients (with the
+            exception of a single connection from a superuser account)
+            can connect to it. You can do this by starting
+            <command>mysqld</command> with the options
+            <option>--read_only --max_connections=0</option>.
+          </para>
+
+        </formalpara>
       </listitem>
 
       <listitem>
-        <para></para>
+        <formalpara>
+
+          <title>Stop replicating from B to A</title>
+
+          <para>
+            Stop sending events from B to A, and ensure that A has
+            executed all events sent to it from B:
+
+            <itemizedlist>
+
+              <listitem>
+                <para>
+                  Issue a <literal>STOP SLAVE</literal> on A
+                </para>
+              </listitem>
+
+              <listitem>
+                <para>
+                  Issue a marker statement on B, such as this one:
+
+<programlisting>
+CREATE TABLE test.marker2 (col INT);
+</programlisting>
+
+                  As with the previous marker statement, the type and
+                  any other aspects of the statement are completely
+                  arbitrary; the only requirement is that the statement
+                  must be uniquely identifiable.
+                </para>
+              </listitem>
+
+              <listitem>
+                <para>
+                  Use <literal>SHOW BINLOG EVENTS</literal> on B to find
+                  the binary log file and position where the marker
+                  event was recorded, as described previously. We use
+                  <replaceable>fileB&apos;</replaceable> and
+                  <replaceable>posB&apos;</replaceable> to denote these
+                  in the next item.
+                </para>
+              </listitem>
+
+              <listitem>
+                <para>
+                  Start server A and synchronize it with B by issuing
+                  the following statements on A:
+
+<programlisting>
+START SLAVE UNTIL
+    MASTER_LOG_FILE=<replaceable>fileB&apos;</replaceable>, 
+    MASTER_LOG_POS=<replaceable>posB&apos;</replaceable>;
+
+SELECT MASTER_POS_WAIT(<replaceable>fileB&apos;</replaceable>, <replaceable>posB&apos;</replaceable>);
+</programlisting>
+
+                  Once A has executed all events up to and including the
+                  marker event, it stops.
+                </para>
+              </listitem>
+
+            </itemizedlist>
+          </para>
+
+        </formalpara>
       </listitem>
 
-    </itemizedlist>
+      <listitem>
+        <formalpara>
+
+          <title>Start replicating from B to C&apos;</title>
+
+          <para>
+            Start sending events from B to C&apos; and executing them on
+            C&apos;, ensuring that the first event not sent to A is the
+            first event sent to C&apos;. You can do this by issuing the
+            following statements on C&apos;:
+
+<programlisting>
+SET @@GLOBAL.READ_ONLY = OFF;
+      
+CHANGE MASTER TO
+    MASTER_HOST=<replaceable>hostB</replaceable>,
+    MASTER_LOG_FILE=<replaceable>fileB&apos;</replaceable>, 
+    MASTER_LOG_POS=<replaceable>posB&apos;</replaceable>;
+
+START SLAVE;
+</programlisting>
+          </para>
+
+        </formalpara>
+      </listitem>
+
+      <listitem>
+        <formalpara>
+
+          <title>Start replication from C&apos; to A</title>
+
+          <para></para>
+
+        </formalpara>
+      </listitem>
+
+    </orderedlist>
   </para>
 
 </section>


Thread
svn commit - mysqldoc@docsrva: r9892 - trunk/refman-5.1jon18 Feb