Author: jstephens
Date: 2008-08-07 18:44:21 +0200 (Thu, 07 Aug 2008)
New Revision: 11507
Log:
More about SBR, RBR, and temporary tables
Fixes Docs Bug #38571
Modified:
trunk/refman-5.1/replication-configuration.xml
trunk/refman-5.1/replication-notes.xml
trunk/refman-6.0/replication-configuration.xml
trunk/refman-6.0/replication-notes.xml
Modified: trunk/refman-5.1/replication-configuration.xml
===================================================================
--- trunk/refman-5.1/replication-configuration.xml 2008-08-06 08:26:34 UTC (rev 11506)
+++ trunk/refman-5.1/replication-configuration.xml 2008-08-07 16:44:21 UTC (rev 11507)
Changed blocks: 1, Lines Added: 19, Lines Deleted: 0; 1162 bytes
@@ -1890,6 +1890,25 @@
<listitem>
<formalpara>
+ <title>RBL, RBR, and temporary tables</title>
+
+ <para>
+ As noted elsewhere in this chapter (see
+ <xref linkend="replication-features-temptables"/>),
+ temporary tables are not replicated when using the
+ row-based format. However, you can use the mixed format;
+ when mixed format is in effect, <quote>safe</quote>
+ statements involving temporary tables are logged using the
+ statement-based format. For more information, see
+ <xref linkend="replication-sbr-rbr"/>.
+ </para>
+
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+
<title>RBL and the <literal>BLACKHOLE</literal> storage
engine</title>
<para>
Modified: trunk/refman-5.1/replication-notes.xml
===================================================================
--- trunk/refman-5.1/replication-notes.xml 2008-08-06 08:26:34 UTC (rev 11506)
+++ trunk/refman-5.1/replication-notes.xml 2008-08-07 16:44:21 UTC (rev 11507)
Changed blocks: 2, Lines Added: 47, Lines Deleted: 10; 3064 bytes
@@ -1247,17 +1247,23 @@
<xref linkend="replication-formats"/>).
</para>
- <para>
- Temporary tables are replicated except in the case where you
- shut down the slave server (not just the slave threads) and you
- have replicated temporary tables that are used in updates that
- have not yet been executed on the slave. If you shut down the
- slave server, the temporary tables needed by those updates are
- no longer available when the slave is restarted. To avoid this
- problem, do not shut down the slave while it has temporary
- tables open. Instead, use the following procedure:
- </para>
+ <formalpara>
+ <title>Safe shutdown of slaves when using temporary tables</title>
+
+ <para>
+ Temporary tables are replicated except in the case where you
+ shut down the slave server (not just the slave threads) and
+ you have replicated temporary tables that are used in updates
+ that have not yet been executed on the slave. If you shut down
+ the slave server, the temporary tables needed by those updates
+ are no longer available when the slave is restarted. To avoid
+ this problem, do not shut down the slave while it has
+ temporary tables open. Instead, use the following procedure:
+ </para>
+
+ </formalpara>
+
<orderedlist>
<listitem>
@@ -1297,6 +1303,37 @@
</orderedlist>
+ <formalpara>
+
+ <title>Temporary tables and replication options</title>
+
+ <para>
+ By default, all temporary tables are replicated; this happens
+ whether or not there are any matching
+ <option>--replicate-do-db</option>,
+ <option>--replicate-do-table</option>, or
+ <option>--replicate-wild-do-table</option> options in effect.
+ However, the <option>--replicate-ignore-table</option> and
+ <option>--replicate-wild-ignore-table</option> options are
+ honored for temporary tables.
+ </para>
+
+ </formalpara>
+
+ <para>
+ A recommended practice when using statement-based or
+ mixed-format replication is to designate a prefix for exclusive
+ use in naming temporary tables that you do not want replicated,
+ then employ a matching
+ <option>--replicate-wild-ignore-table</option> option. For
+ example, you might give all such tables names beginning with
+ <literal>norep_</literal> (such as
+ <literal>norep_tablea</literal>,
+ <literal>norep_tableb</literal>, and so on), then use
+ <option>--replicate-wild-ignore-table=norep_</option> to prevent
+ the replication of these tables.
+ </para>
+
</section>
<section id="replication-features-timeout">
Modified: trunk/refman-6.0/replication-configuration.xml
===================================================================
--- trunk/refman-6.0/replication-configuration.xml 2008-08-06 08:26:34 UTC (rev 11506)
+++ trunk/refman-6.0/replication-configuration.xml 2008-08-07 16:44:21 UTC (rev 11507)
Changed blocks: 1, Lines Added: 19, Lines Deleted: 0; 1162 bytes
@@ -1872,6 +1872,25 @@
<listitem>
<formalpara>
+ <title>RBL, RBR, and temporary tables</title>
+
+ <para>
+ As noted elsewhere in this chapter (see
+ <xref linkend="replication-features-temptables"/>),
+ temporary tables are not replicated when using the
+ row-based format. However, you can use the mixed format;
+ when mixed format is in effect, <quote>safe</quote>
+ statements involving temporary tables are logged using the
+ statement-based format. For more information, see
+ <xref linkend="replication-sbr-rbr"/>.
+ </para>
+
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+
<title>RBL and the <literal>BLACKHOLE</literal> storage
engine</title>
<para>
Modified: trunk/refman-6.0/replication-notes.xml
===================================================================
--- trunk/refman-6.0/replication-notes.xml 2008-08-06 08:26:34 UTC (rev 11506)
+++ trunk/refman-6.0/replication-notes.xml 2008-08-07 16:44:21 UTC (rev 11507)
Changed blocks: 3, Lines Added: 48, Lines Deleted: 11; 3339 bytes
@@ -1193,17 +1193,23 @@
<xref linkend="replication-formats"/>).
</para>
- <para>
- Temporary tables are replicated except in the case where you
- shut down the slave server (not just the slave threads) and you
- have replicated temporary tables that are used in updates that
- have not yet been executed on the slave. If you shut down the
- slave server, the temporary tables needed by those updates are
- no longer available when the slave is restarted. To avoid this
- problem, do not shut down the slave while it has temporary
- tables open. Instead, use the following procedure:
- </para>
+ <formalpara>
+ <title>Safe shutdown of slaves when using temporary tables</title>
+
+ <para>
+ Temporary tables are replicated except in the case where you
+ shut down the slave server (not just the slave threads) and
+ you have replicated temporary tables that are used in updates
+ that have not yet been executed on the slave. If you shut down
+ the slave server, the temporary tables needed by those updates
+ are no longer available when the slave is restarted. To avoid
+ this problem, do not shut down the slave while it has
+ temporary tables open. Instead, use the following procedure:
+ </para>
+
+ </formalpara>
+
<orderedlist>
<listitem>
@@ -1229,7 +1235,7 @@
<listitem>
<para>
If the value is not 0, restart the slave SQL thread with
- <literal>START SLAVE SQL_THEADS</literal>.
+ <literal>START SLAVE SQL_THREAD</literal>.
</para>
</listitem>
@@ -1243,6 +1249,37 @@
</orderedlist>
+ <formalpara>
+
+ <title>Temporary tables and replication options</title>
+
+ <para>
+ By default, all temporary tables are replicated; this happens
+ whether or not there are any matching
+ <option>--replicate-do-db</option>,
+ <option>--replicate-do-table</option>, or
+ <option>--replicate-wild-do-table</option> options in effect.
+ However, the <option>--replicate-ignore-table</option> and
+ <option>--replicate-wild-ignore-table</option> options are
+ honored for temporary tables.
+ </para>
+
+ </formalpara>
+
+ <para>
+ A recommended practice when using statement-based or
+ mixed-format replication is to designate a prefix for exclusive
+ use in naming temporary tables that you do not want replicated,
+ then employ a matching
+ <option>--replicate-wild-ignore-table</option> option. For
+ example, you might give all such tables names beginning with
+ <literal>norep_</literal> (such as
+ <literal>norep_tablea</literal>,
+ <literal>norep_tableb</literal>, and so on), then use
+ <option>--replicate-wild-ignore-table=norep_</option> to prevent
+ the replication of these tables.
+ </para>
+
</section>
<section id="replication-features-timeout">
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r11507 - in trunk: refman-5.1 refman-6.0 | jon | 7 Aug |