MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:jon Date:August 13 2007 1:34pm
Subject:svn commit - mysqldoc@docsrva: r7445 - in trunk: refman-5.1 refman-5.2
View as plain text  
Author: jstephens
Date: 2007-08-13 15:34:50 +0200 (Mon, 13 Aug 2007)
New Revision: 7445

Log:

Remarks on NDB -> non-NDB replication

(Fixes Docs Bug #29569)



Modified:
   trunk/refman-5.1/mysql-cluster.xml
   trunk/refman-5.2/mysql-cluster.xml


Modified: trunk/refman-5.1/mysql-cluster.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster.xml	2007-08-13 13:19:21 UTC (rev 7444)
+++ trunk/refman-5.1/mysql-cluster.xml	2007-08-13 13:34:50 UTC (rev 7445)
Changed blocks: 1, Lines Added: 77, Lines Deleted: 0; 3299 bytes

@@ -19132,6 +19132,83 @@
           </formalpara>
         </listitem>
 
+        <listitem>
+          <formalpara>
+
+            <title>Replication from <literal>NDB</literal> to other storage engines</title>
+
+            <para>
+              If you attempt to replicate from a MySQL Cluster to a
+              slave that uses a storage engine that does not handle its
+              own binary logging, the replication process aborts with
+              the error <errortext>Binary logging not possible ...
+              Statement cannot be written atomically since more than one
+              engine involved and at least one engine is
+              self-logging</errortext> (Error
+              <errorcode>1595</errorcode>). It is possible to work
+              around this issue in one of the following ways:
+
+              <itemizedlist>
+
+                <listitem>
+                  <formalpara>
+
+                    <title>Turn off binary logging on the slave</title>
+
+                    <para>
+                      This can be accomplished by setting
+                      <literal>SQL_BIN_LOG = 0</literal>.
+                    </para>
+
+                  </formalpara>
+                </listitem>
+
+                <listitem>
+                  <formalpara>
+
+                    <title>Change the storage engine used for the
+                      <literal>mysql.ndb_apply_status</literal> table</title>
+
+                    <para>
+                      Causing this table to use an engine that does not
+                      handle its own binary logging can also eliminate
+                      the conflict. This can be done by issuing a
+                      statement such as <literal>ALTER TABLE
+                      mysql.ndb_apply_status ENGINE=MyISAM</literal> on
+                      the slave. It is safe to do this when using a
+                      non-<literal>NDB</literal> storage engine on the
+                      slave, since you do not then need to worry about
+                      keeping multiple slave SQL nodes synchronized.
+                    </para>
+
+                  </formalpara>
+                </listitem>
+
+                <listitem>
+                  <formalpara>
+
+                    <title>Filter out changes to the <literal>mysql.ndb_apply_status</literal>
+                      table on the slave</title>
+
+                    <para>
+                      This can be done by starting the slave SQL node
+                      with the option
+                      <option>--replicate-ignore-table=mysql.ndb_apply_status</option>.
+                      If you need for other tables to be ignored by
+                      replication, you might wish to use an appropriate
+                      <option>--replicate-wild-ignore-table</option>
+                      option instead.
+                    </para>
+
+                  </formalpara>
+                </listitem>
+
+              </itemizedlist>
+            </para>
+
+          </formalpara>
+        </listitem>
+
       </itemizedlist>
 
     </section>


Modified: trunk/refman-5.2/mysql-cluster.xml
===================================================================
--- trunk/refman-5.2/mysql-cluster.xml	2007-08-13 13:19:21 UTC (rev 7444)
+++ trunk/refman-5.2/mysql-cluster.xml	2007-08-13 13:34:50 UTC (rev 7445)
Changed blocks: 1, Lines Added: 77, Lines Deleted: 0; 3299 bytes

@@ -18998,6 +18998,83 @@
           </formalpara>
         </listitem>
 
+        <listitem>
+          <formalpara>
+
+            <title>Replication from <literal>NDB</literal> to other storage engines</title>
+
+            <para>
+              If you attempt to replicate from a MySQL Cluster to a
+              slave that uses a storage engine that does not handle its
+              own binary logging, the replication process aborts with
+              the error <errortext>Binary logging not possible ...
+              Statement cannot be written atomically since more than one
+              engine involved and at least one engine is
+              self-logging</errortext> (Error
+              <errorcode>1595</errorcode>). It is possible to work
+              around this issue in one of the following ways:
+
+              <itemizedlist>
+
+                <listitem>
+                  <formalpara>
+
+                    <title>Turn off binary logging on the slave</title>
+
+                    <para>
+                      This can be accomplished by setting
+                      <literal>SQL_BIN_LOG = 0</literal>.
+                    </para>
+
+                  </formalpara>
+                </listitem>
+
+                <listitem>
+                  <formalpara>
+
+                    <title>Change the storage engine used for the
+                      <literal>mysql.ndb_apply_status</literal> table</title>
+
+                    <para>
+                      Causing this table to use an engine that does not
+                      handle its own binary logging can also eliminate
+                      the conflict. This can be done by issuing a
+                      statement such as <literal>ALTER TABLE
+                      mysql.ndb_apply_status ENGINE=MyISAM</literal> on
+                      the slave. It is safe to do this when using a
+                      non-<literal>NDB</literal> storage engine on the
+                      slave, since you do not then need to worry about
+                      keeping multiple slave SQL nodes synchronized.
+                    </para>
+
+                  </formalpara>
+                </listitem>
+
+                <listitem>
+                  <formalpara>
+
+                    <title>Filter out changes to the <literal>mysql.ndb_apply_status</literal>
+                      table on the slave</title>
+
+                    <para>
+                      This can be done by starting the slave SQL node
+                      with the option
+                      <option>--replicate-ignore-table=mysql.ndb_apply_status</option>.
+                      If you need for other tables to be ignored by
+                      replication, you might wish to use an appropriate
+                      <option>--replicate-wild-ignore-table</option>
+                      option instead.
+                    </para>
+
+                  </formalpara>
+                </listitem>
+
+              </itemizedlist>
+            </para>
+
+          </formalpara>
+        </listitem>
+
       </itemizedlist>
 
     </section>


Thread
svn commit - mysqldoc@docsrva: r7445 - in trunk: refman-5.1 refman-5.2jon13 Aug