Author: jstephens
Date: 2009-03-27 12:07:20 +0100 (Fri, 27 Mar 2009)
New Revision: 14407
Log:
DB names in text didn't match those in diagram (Chuck)
Updated formatting and markup
5.0: Why not to use --replicate-do-db
5.1/6.0: --replicate-do-db and replication format
Modified:
trunk/refman-5.0/replication-solutions.xml
trunk/refman-5.1/replication-solutions.xml
trunk/refman-6.0/replication-solutions.xml
Modified: trunk/refman-5.0/replication-solutions.xml
===================================================================
--- trunk/refman-5.0/replication-solutions.xml 2009-03-27 10:58:52 UTC (rev 14406)
+++ trunk/refman-5.0/replication-solutions.xml 2009-03-27 11:07:20 UTC (rev 14407)
Changed blocks: 6, Lines Added: 39, Lines Deleted: 27; 5122 bytes
@@ -546,7 +546,7 @@
<title>Replicating Different Databases to Different Slaves</title>
- <remark role="todo">
+ <remark role="NOTE">
[MC] Source for this input was Bug #23615
</remark>
@@ -560,14 +560,14 @@
</para>
<figure id="figure_replication-multi-db">
- <title>Using replication to replicate separate DBs to multiple hosts</title>
+ <title>Using replication to replicate databases to separate replication slaves</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="424" contentdepth="178" fileref="../refman-common/images/published/multi-db.png" format="PNG" lang="en"/>
</imageobject>
<textobject>
- <phrase lang="en">Using replication to replicate separate DBs
- to multiple hosts</phrase>
+ <phrase lang="en">Using replication to replicate databases to
+ separate replication slaves</phrase>
</textobject>
</mediaobject>
</figure>
@@ -576,14 +576,23 @@
You can achieve this separation by configuring the master and
slaves as normal, and then limiting the binary log statements that
each slave processes by using the
- <literal>replicate-wild-do-table</literal> configuration option on
- each slave.
+ <option role="mysqld">--replicate-wild-do-table</option>
+ configuration option on each slave.
</para>
+ <important>
+ <para>
+ You should <emphasis>not</emphasis> use
+ <option role="mysqld">--replicate-do-db</option> for this
+ purpose, since its affects vary according to the database that
+ is currently selected.
+ </para>
+ </important>
+
<para>
For example, to support the separation as shown in
- <xref linkend="figure_replication-multi-db"/>, you would configure
- each slave as follows before enabling replication using
+ <xref linkend="figure_replication-multi-db"/>, you should
+ configure each replication slave as follows, before executing
<literal role="stmt">START SLAVE</literal>:
</para>
@@ -591,34 +600,30 @@
<listitem>
<para>
- MySQL Slave 1 should have the following configuration options:
+ Replication slave 1 should use
+ <option>--replicate-wild-do-table=databaseA.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=sales.%
-replicate-wild-do-table=finance.%</programlisting>
</listitem>
<listitem>
<para>
- MySQL Slave 2 should have the following configuration option:
+ Replication slave 2 should use
+ <option>--replicate-wild-do-table=databaseB.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=support.%</programlisting>
</listitem>
<listitem>
<para>
- MySQL Slave 3 should have the following configuration option:
+ Replication slave 3 should use
+ <option>--replicate-wild-do-table=databaseC.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=service.%</programlisting>
</listitem>
</itemizedlist>
<para>
If you have data that needs to be synchronized to the slaves
- before replication starts, you have a number of options:
+ before replication starts, you have a number of choices:
</para>
<itemizedlist>
@@ -626,7 +631,7 @@
<listitem>
<para>
Synchronize all the data to each slave, and delete the
- databases and/or tables that you do not want to keep.
+ databases, tables, or both that you do not want to keep.
</para>
</listitem>
@@ -641,19 +646,26 @@
<listitem>
<para>
Use a raw data file dump and include only the specific files
- and databases that you need for each slave. This option will
- not work with InnoDB databases unless you use the
- <literal role="sysvar">innodb_file_per_table</literal> option.
+ and databases that you need for each slave.
</para>
+
+ <note>
+ <para>
+ This does not work with <literal role="se">InnoDB</literal>
+ databases unless you use
+ <literal role="sysvar">innodb_file_per_table</literal>.
+ </para>
+ </note>
</listitem>
</itemizedlist>
<para>
- Each slave in this configuration will transfer to the entire
- binary log from the master, but will only execute the events
- within the binary log that apply to the configured databases and
- tables.
+ Each slave in this configuration receives the entire binary log
+ from the master, but executes only those events from the binary
+ log that apply to the databases and tables included by the
+ <option role="mysqld">--replicate-wild-do-table</option> option in
+ effect on that slave.
</para>
</section>
Modified: trunk/refman-5.1/replication-solutions.xml
===================================================================
--- trunk/refman-5.1/replication-solutions.xml 2009-03-27 10:58:52 UTC (rev 14406)
+++ trunk/refman-5.1/replication-solutions.xml 2009-03-27 11:07:20 UTC (rev 14407)
Changed blocks: 6, Lines Added: 50, Lines Deleted: 27; 5675 bytes
@@ -811,7 +811,7 @@
<title>Replicating Different Databases to Different Slaves</title>
- <remark role="todo">
+ <remark role="NOTE">
[MC] Source for this input was Bug #23615
</remark>
@@ -825,14 +825,14 @@
</para>
<figure id="figure_replication-multi-db">
- <title>Using replication to replicate separate DBs to multiple hosts</title>
+ <title>Using replication to replicate databases to separate replication slaves</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="424" contentdepth="178" fileref="../refman-common/images/published/multi-db.png" format="PNG" lang="en"/>
</imageobject>
<textobject>
- <phrase lang="en">Using replication to replicate separate DBs
- to multiple hosts</phrase>
+ <phrase lang="en">Using replication to replicate databases to
+ separate replication slaves</phrase>
</textobject>
</mediaobject>
</figure>
@@ -841,14 +841,34 @@
You can achieve this separation by configuring the master and
slaves as normal, and then limiting the binary log statements that
each slave processes by using the
- <literal>replicate-wild-do-table</literal> configuration option on
- each slave.
+ <option role="mysqld">--replicate-wild-do-table</option>
+ configuration option on each slave.
</para>
+ <important>
+ <para>
+ You should <emphasis>not</emphasis> use
+ <option role="mysqld">--replicate-do-db</option> for this
+ purpose when using statement-based replication, since
+ statement-based replication causes this option's affects to
+ vary according to the database that is currently selected. This
+ applies to mixed-format replication as well, since this allows
+ some updates to be replicated using the statement-based format.
+ </para>
+
+ <para>
+ However, it should be to use
+ <option role="mysqld">--replicate-do-db</option> for this
+ purpose if you are using row-based replication only, since in
+ this case the currently-selected database has no effect on the
+ option's operation.
+ </para>
+ </important>
+
<para>
For example, to support the separation as shown in
- <xref linkend="figure_replication-multi-db"/>, you would configure
- each slave as follows before enabling replication using
+ <xref linkend="figure_replication-multi-db"/>, you should
+ configure each replication slave as follows, before executing
<literal role="stmt">START SLAVE</literal>:
</para>
@@ -856,34 +876,30 @@
<listitem>
<para>
- MySQL Slave 1 should have the following configuration options:
+ Replication slave 1 should use
+ <option>--replicate-wild-do-table=databaseA.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=sales.%
-replicate-wild-do-table=finance.%</programlisting>
</listitem>
<listitem>
<para>
- MySQL Slave 2 should have the following configuration option:
+ Replication slave 2 should use
+ <option>--replicate-wild-do-table=databaseB.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=support.%</programlisting>
</listitem>
<listitem>
<para>
- MySQL Slave 3 should have the following configuration option:
+ Replication slave 3 should use
+ <option>--replicate-wild-do-table=databaseC.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=service.%</programlisting>
</listitem>
</itemizedlist>
<para>
If you have data that needs to be synchronized to the slaves
- before replication starts, you have a number of options:
+ before replication starts, you have a number of choices:
</para>
<itemizedlist>
@@ -891,7 +907,7 @@
<listitem>
<para>
Synchronize all the data to each slave, and delete the
- databases and/or tables that you do not want to keep.
+ databases, tables, or both that you do not want to keep.
</para>
</listitem>
@@ -906,19 +922,26 @@
<listitem>
<para>
Use a raw data file dump and include only the specific files
- and databases that you need for each slave. This option will
- not work with InnoDB databases unless you use the
- <literal role="sysvar">innodb_file_per_table</literal> option.
+ and databases that you need for each slave.
</para>
+
+ <note>
+ <para>
+ This does not work with <literal role="se">InnoDB</literal>
+ databases unless you use
+ <literal role="sysvar">innodb_file_per_table</literal>.
+ </para>
+ </note>
</listitem>
</itemizedlist>
<para>
- Each slave in this configuration will transfer to the entire
- binary log from the master, but will only execute the events
- within the binary log that apply to the configured databases and
- tables.
+ Each slave in this configuration receives the entire binary log
+ from the master, but executes only those events from the binary
+ log that apply to the databases and tables included by the
+ <option role="mysqld">--replicate-wild-do-table</option> option in
+ effect on that slave.
</para>
</section>
Modified: trunk/refman-6.0/replication-solutions.xml
===================================================================
--- trunk/refman-6.0/replication-solutions.xml 2009-03-27 10:58:52 UTC (rev 14406)
+++ trunk/refman-6.0/replication-solutions.xml 2009-03-27 11:07:20 UTC (rev 14407)
Changed blocks: 6, Lines Added: 50, Lines Deleted: 27; 5675 bytes
@@ -801,7 +801,7 @@
<title>Replicating Different Databases to Different Slaves</title>
- <remark role="todo">
+ <remark role="NOTE">
[MC] Source for this input was Bug #23615
</remark>
@@ -815,14 +815,14 @@
</para>
<figure id="figure_replication-multi-db">
- <title>Using replication to replicate separate DBs to multiple hosts</title>
+ <title>Using replication to replicate databases to separate replication slaves</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="424" contentdepth="178" fileref="../refman-common/images/published/multi-db.png" format="PNG" lang="en"/>
</imageobject>
<textobject>
- <phrase lang="en">Using replication to replicate separate DBs
- to multiple hosts</phrase>
+ <phrase lang="en">Using replication to replicate databases to
+ separate replication slaves</phrase>
</textobject>
</mediaobject>
</figure>
@@ -831,14 +831,34 @@
You can achieve this separation by configuring the master and
slaves as normal, and then limiting the binary log statements that
each slave processes by using the
- <literal>replicate-wild-do-table</literal> configuration option on
- each slave.
+ <option role="mysqld">--replicate-wild-do-table</option>
+ configuration option on each slave.
</para>
+ <important>
+ <para>
+ You should <emphasis>not</emphasis> use
+ <option role="mysqld">--replicate-do-db</option> for this
+ purpose when using statement-based replication, since
+ statement-based replication causes this option's affects to
+ vary according to the database that is currently selected. This
+ applies to mixed-format replication as well, since this allows
+ some updates to be replicated using the statement-based format.
+ </para>
+
+ <para>
+ However, it should be to use
+ <option role="mysqld">--replicate-do-db</option> for this
+ purpose if you are using row-based replication only, since in
+ this case the currently-selected database has no effect on the
+ option's operation.
+ </para>
+ </important>
+
<para>
For example, to support the separation as shown in
- <xref linkend="figure_replication-multi-db"/>, you would configure
- each slave as follows before enabling replication using
+ <xref linkend="figure_replication-multi-db"/>, you should
+ configure each replication slave as follows, before executing
<literal role="stmt">START SLAVE</literal>:
</para>
@@ -846,34 +866,30 @@
<listitem>
<para>
- MySQL Slave 1 should have the following configuration options:
+ Replication slave 1 should use
+ <option>--replicate-wild-do-table=databaseA.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=sales.%
-replicate-wild-do-table=finance.%</programlisting>
</listitem>
<listitem>
<para>
- MySQL Slave 2 should have the following configuration option:
+ Replication slave 2 should use
+ <option>--replicate-wild-do-table=databaseB.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=support.%</programlisting>
</listitem>
<listitem>
<para>
- MySQL Slave 3 should have the following configuration option:
+ Replication slave 3 should use
+ <option>--replicate-wild-do-table=databaseC.%</option>.
</para>
-
-<programlisting>replicate-wild-do-table=service.%</programlisting>
</listitem>
</itemizedlist>
<para>
If you have data that needs to be synchronized to the slaves
- before replication starts, you have a number of options:
+ before replication starts, you have a number of choices:
</para>
<itemizedlist>
@@ -881,7 +897,7 @@
<listitem>
<para>
Synchronize all the data to each slave, and delete the
- databases and/or tables that you do not want to keep.
+ databases, tables, or both that you do not want to keep.
</para>
</listitem>
@@ -896,19 +912,26 @@
<listitem>
<para>
Use a raw data file dump and include only the specific files
- and databases that you need for each slave. This option will
- not work with InnoDB databases unless you use the
- <literal role="sysvar">innodb_file_per_table</literal> option.
+ and databases that you need for each slave.
</para>
+
+ <note>
+ <para>
+ This does not work with <literal role="se">InnoDB</literal>
+ databases unless you use
+ <literal role="sysvar">innodb_file_per_table</literal>.
+ </para>
+ </note>
</listitem>
</itemizedlist>
<para>
- Each slave in this configuration will transfer to the entire
- binary log from the master, but will only execute the events
- within the binary log that apply to the configured databases and
- tables.
+ Each slave in this configuration receives the entire binary log
+ from the master, but executes only those events from the binary
+ log that apply to the databases and tables included by the
+ <option role="mysqld">--replicate-wild-do-table</option> option in
+ effect on that slave.
</para>
</section>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r14407 - in trunk: refman-5.0 refman-5.1 refman-6.0 | jon.stephens | 27 Mar |