List:Commits« Previous MessageNext Message »
From:jon Date:October 17 2008 12:36pm
Subject:svn commit - mysqldoc@docsrva: r12086 - in trunk: refman-5.1 refman-6.0
View as plain text  
Author: jstephens
Date: 2008-10-17 14:36:39 +0200 (Fri, 17 Oct 2008)
New Revision: 12086

Log:

More fixes to replication-rbr-usage per email discussion with Mats

Fixed some inconcsistencies between 5.1/6.0 versions

Updated dependencies



Modified:
   trunk/refman-5.1/replication-configuration.xml
   trunk/refman-6.0/Makefile.depends
   trunk/refman-6.0/replication-configuration.xml


Modified: trunk/refman-5.1/replication-configuration.xml
===================================================================
--- trunk/refman-5.1/replication-configuration.xml	2008-10-16 16:27:25 UTC (rev 12085)
+++ trunk/refman-5.1/replication-configuration.xml	2008-10-17 12:36:39 UTC (rev 12086)
Changed blocks: 7, Lines Added: 45, Lines Deleted: 78; 7530 bytes

@@ -1360,15 +1360,19 @@
       <listitem>
         <para>
           As of MySQL 5.1.8, the binary logging format can be changed in
-          real time according to the event being logged when using
-          mixed-format logging. When the mixed format is in effect,
-          statement-based logging is used by default, but automatically
-          switches to row-based logging in particular cases as described
-          below. This is sometimes referred to as <firstterm>mixed-based
-          replication</firstterm> (abbreviated as
-          <firstterm>MBR</firstterm>). For more information, see
-          <xref linkend="binary-log-mixed"/>.
+          real time according to the event being logged using
+          <firstterm>mixed-format logging</firstterm>.
         </para>
+
+        <para>
+          When the mixed format is in effect, statement-based logging is
+          used by default, but automatically switches to row-based
+          logging in particular cases as described below. Replication
+          using the mixed format is often referred to as
+          <firstterm>mixed-based replication</firstterm> or
+          <firstterm>mixed-format replication</firstterm>. For more
+          information, see <xref linkend="binary-log-mixed"/>.
+        </para>
       </listitem>
 
     </itemizedlist>

@@ -1793,13 +1797,6 @@
           </para>
         </listitem>
 
-        <listitem>
-          <para>
-            It's possible to add multiple threads to apply data on the
-            slave in the future (works better on SMP machines).
-          </para>
-        </listitem>
-
       </itemizedlist>
 
       <para>

@@ -1833,6 +1830,21 @@
 
         <listitem>
           <para>
+            When using row-based replication to replicate a statement
+            (for example, an <literal>UPDATE</literal> or
+            <literal>DELETE</literal> statement), each changed row must
+            be written to the binary log. In contrast, when using
+            statement-based replication, only the statement is written
+            to the binary log. If the statement changes many rows,
+            row-based replication may write significantly more data to
+            the binary log. In these cases the binary log will be locked
+            for a longer time to write the data, which may cause
+            concurrency problems.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
             Deterministic UDFs that generate large
             <literal>BLOB</literal> values take longer to replicate.
           </para>

@@ -1975,32 +1987,9 @@
             <title>RBL and the <literal>BLACKHOLE</literal> storage engine</title>
 
             <para>
-              While it is possible to use the
-              <literal>BLACKHOLE</literal> storage engine in combination
-              with RBL or RBR, you should be aware of the following
-              issues:
-
-              <itemizedlist>
-
-                <listitem>
-                  <para>
-                    <literal>DELETE</literal> and
-                    <literal>UPDATE</literal> statements currently do
-                    not work with RBL. This is a known issue which we
-                    are working to correct in a future MySQL release
-                    (see Bug #38360).
-                  </para>
-                </listitem>
-
-                <listitem>
-                  <para>
-                    DDL statements are not supported on
-                    <literal>BLACKHOLE</literal> tables when using RBL.
-                    This is by design.
-                  </para>
-                </listitem>
-
-              </itemizedlist>
+              Prior to MySQL 5.1.29, <literal>DELETE</literal> and
+              <literal>UPDATE</literal> statements did not work with RBL
+              and <literal>BLACKHOLE</literal> tables. (Bug #38360)
             </para>
 
           </formalpara>

@@ -2012,21 +2001,16 @@
             <title>RBL and synchronization of non-transactional tables</title>
 
             <para>
-              When executing a statement on the master that would update
-              multiple rows, the table is locked on the master while all
-              the affected rows are updated. When using
-              non-transactional storage engines, including
-              <literal>MyISAM</literal>, the changes to each row are
-              written to the binary log as each row is modified. On the
-              slave, each RBL statement is executed individually,
-              without the table lock that would have been in place on
-              the master for the duration of the original statement,
-              because it cannot determine that the individual row
-              updates were part of a bulk statement. This can cause
-              synchronization problems, since <literal>SELECT</literal>
-              statements issued on the master and on a slave may return
-              different data for individual rows during the execution of
-              the original statement.
+              When using row-based replication of a
+              <literal>MyISAM</literal> or other non-transactional
+              table, changed rows are written to the transaction cache.
+              Often, when many rows are affected, the set of changes are
+              split into several events; when the statement commits, all
+              of these events are written to the binary log. When
+              executing on the slave, a table lock is taken on all
+              tables involved, then the rows are applied in batch mode.
+              (This may or may not be effective, depending on the engine
+              used for the slave&apos;s copy of the table).
             </para>
 
           </formalpara>

@@ -2096,9 +2080,11 @@
             <para>
               <literal>slave_exec_mode=IDEMPOTENT</literal> is generally
               useful only for circular replication or multi-master
-              replication with MySQL Cluster. For other scenarios, the
-              default value (<literal>slave_exec_mode=STRICT</literal>)
-              is normally sufficient.
+              replication with MySQL Cluster (see
+              <xref linkend="mysql-cluster-replication"/>). For other
+              scenarios, the default value
+              (<literal>slave_exec_mode=STRICT</literal>) is normally
+              sufficient.
             </para>
           </note>
         </listitem>

@@ -2169,25 +2155,6 @@
           </formalpara>
         </listitem>
 
-        <listitem>
-          <formalpara>
-
-            <title><literal>MyISAM</literal> performance and RBL</title>
-
-            <para>
-              When using row-based logging, changes to rows are written
-              to disk as soon as they are applied on the slave. When
-              performing an update on <literal>MyISAM</literal> tables,
-              the slave writes each row change separately to disk. This
-              means that an <literal>UPDATE</literal> statement that
-              affects many <literal>MyISAM</literal> tables may take
-              longer to be applied on the slave when using row-based
-              logging than when using statement-based logging.
-            </para>
-
-          </formalpara>
-        </listitem>
-
       </itemizedlist>
 
     </section>


Modified: trunk/refman-6.0/Makefile.depends
===================================================================
--- trunk/refman-6.0/Makefile.depends	2008-10-16 16:27:25 UTC (rev 12085)
+++ trunk/refman-6.0/Makefile.depends	2008-10-17 12:36:39 UTC (rev 12086)
Changed blocks: 1, Lines Added: 1, Lines Deleted: 0; 627 bytes

@@ -1993,6 +1993,7 @@
 replication_configuration_IMAGES =
 replication_configuration_SOURCES = replication-configuration.xml $(replication_configuration_INCLUDES)
 replication_configuration_IDMAPS = \
+	../refman-5.1/metadata/mysql-cluster.idmap \
 	../refman-6.0/metadata/backup.idmap \
 	../refman-6.0/metadata/dba-core.idmap \
 	../refman-6.0/metadata/errors-problems.idmap \


Modified: trunk/refman-6.0/replication-configuration.xml
===================================================================
--- trunk/refman-6.0/replication-configuration.xml	2008-10-16 16:27:25 UTC (rev 12085)
+++ trunk/refman-6.0/replication-configuration.xml	2008-10-17 12:36:39 UTC (rev 12086)
Changed blocks: 7, Lines Added: 37, Lines Deleted: 69; 6822 bytes

@@ -402,8 +402,8 @@
         of a more complex replication topology (for example, where the
         slave acts as a master to other slaves).
 
-<!--
-        For more information, see <xref linkend="replication-topology"/>.
+<!--  
+        For more information, see <xref linkend="replication-topology"/>.  
 -->
       </para>
 

@@ -1360,15 +1360,19 @@
       <listitem>
         <para>
           The binary logging format can be changed in real time
-          according to the event being logged when using mixed-format
-          logging. When the mixed format is in effect, statement-based
-          logging is used by default, but automatically switches to
-          row-based logging in particular cases as described below. This
-          is sometimes referred to as associated <firstterm>mixed-based
-          replication</firstterm> (abbreviated as
-          <firstterm>MBR</firstterm>). For more information, see
-          <xref linkend="binary-log-mixed"/>.
+          according to the event being logged using
+          <firstterm>mixed-format logging</firstterm>.
         </para>
+
+        <para>
+          When the mixed format is in effect, statement-based logging is
+          used by default, but automatically switches to row-based
+          logging in particular cases as described below. Replication
+          using the mixed format is often referred to as
+          <firstterm>mixed-based replication</firstterm> or
+          <firstterm>mixed-format replication</firstterm>. For more
+          information, see <xref linkend="binary-log-mixed"/>.
+        </para>
       </listitem>
 
     </itemizedlist>

@@ -1386,6 +1390,14 @@
     </para>
 
     <para>
+      You must have the <literal>SUPER</literal> privilege to set the
+      binary logging format on the global level. Starting with MySQL
+      6.0.7, you must also have the <literal>SUPER</literal> privilege
+      to set the binary logging format for the current session. (Bug
+      #39106)
+    </para>
+
+    <para>
       The statement-based and row-based replication formats have
       different issues and limitations. For a comparison of their
       relative advantages and disadvantages, see

@@ -1939,30 +1951,9 @@
             <title>RBL and the <literal>BLACKHOLE</literal> storage engine</title>
 
             <para>
-              While it is possible to use the
-              <literal>BLACKHOLE</literal> storage engine in combination
-              with RBL or RBR, you should be aware of the following
-              issues:
-
-              <itemizedlist>
-
-                <listitem>
-                  <para>
-                    Prior to MySQL 6.0.7, <literal>DELETE</literal> and
-                    <literal>UPDATE</literal> statements did not work
-                    with RBL (Bug #38360).
-                  </para>
-                </listitem>
-
-                <listitem>
-                  <para>
-                    DDL statements are not supported on
-                    <literal>BLACKHOLE</literal> tables when using RBL.
-                    This is by design.
-                  </para>
-                </listitem>
-
-              </itemizedlist>
+              Prior to MySQL 6.0.7, <literal>DELETE</literal> and
+              <literal>UPDATE</literal> statements did not work with RBL
+              and <literal>BLACKHOLE</literal> tables (Bug #38360).
             </para>
 
           </formalpara>

@@ -1974,21 +1965,16 @@
             <title>RBL and synchronization of non-transactional tables</title>
 
             <para>
-              When executing a statement on the master that would update
-              multiple rows, the table is locked on the master while all
-              the affected rows are updated. When using
-              non-transactional storage engines, including
-              <literal>MyISAM</literal>, the changes to each row are
-              written to the binary log as each row is modified. On the
-              slave, each RBL statement is executed individually,
-              without the table lock that would have been in place on
-              the master for the duration of the original statement,
-              because it cannot determine that the individual row
-              updates were part of a bulk statement. This can cause
-              synchronization problems, since <literal>SELECT</literal>
-              statements issued on the master and on a slave may return
-              different data for individual rows during the execution of
-              the original statement.
+              When using row-based replication of a
+              <literal>MyISAM</literal> or other non-transactional
+              table, changed rows are written to the transaction cache.
+              Often, when many rows are affected, the set of changes are
+              split into several events; when the statement commits, all
+              of these events are written to the binary log. When
+              executing on the slave, a table lock is taken on all
+              tables involved, then the rows are applied in batch mode.
+              (This may or may not be effective, depending on the engine
+              used for the slave&apos;s copy of the table).
             </para>
 
           </formalpara>

@@ -2069,7 +2055,8 @@
               wishing to upgrade from MySQL 5.0 should instead migrate
               to MySQL Cluster NDB 6.2 or 6.3; these are based on MySQL
               5.1 but contain the latest improvements and fixes for
-              <literal>NDBCLUSTER</literal>.
+              <literal>NDBCLUSTER</literal>. For more information, see
+              <xref linkend="refman-5.1:mysql-cluster"/>.
             </para>
           </note>
         </listitem>

@@ -2140,25 +2127,6 @@
           </formalpara>
         </listitem>
 
-        <listitem>
-          <formalpara>
-
-            <title><literal>MyISAM</literal> performance and RBL</title>
-
-            <para>
-              When using row-based logging, changes to rows are written
-              to disk as soon as they are applied on the slave. When
-              performing an update on <literal>MyISAM</literal> tables,
-              the slave writes each row change separately to disk. This
-              means that an <literal>UPDATE</literal> statement that
-              affects many <literal>MyISAM</literal> tables may take
-              longer to be applied on the slave when using row-based
-              logging than when using statement-based logging.
-            </para>
-
-          </formalpara>
-        </listitem>
-
       </itemizedlist>
 
     </section>


Thread
svn commit - mysqldoc@docsrva: r12086 - in trunk: refman-5.1 refman-6.0jon17 Oct