Author: paul
Date: 2006-01-11 19:36:23 +0100 (Wed, 11 Jan 2006)
New Revision: 764
Log:
r6086@frost: paul | 2006-01-11 12:35:17 -0600
Indicate that the 5.0.17 DEFINER clause for CREATE TRIGGER
causes a forward-incompatibility in replication. (See Bug#16266)
Modified:
trunk/
trunk/refman-5.0/replication.xml
trunk/refman-common/news-5.0.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6085
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:1994
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6086
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:1994
Modified: trunk/refman-5.0/replication.xml
===================================================================
--- trunk/refman-5.0/replication.xml 2006-01-11 18:35:54 UTC (rev 763)
+++ trunk/refman-5.0/replication.xml 2006-01-11 18:36:23 UTC (rev 764)
@@ -1564,6 +1564,34 @@
<listitem>
<para>
+ <emphasis role="bold">Known issue</emphasis>: In MySQL 5.0.17,
+ the syntax for <literal>CREATE TRIGGER</literal> changed to
+ include a <literal>DEFINER</literal> clause for specifying
+ which access privileges to check at trigger invocation time.
+ (See <xref linkend="create-trigger"/>, for more information.)
+ However, if you attempt to replicate from a master server
+ older than MySQL 5.0.17 to a slave running MySQL 5.0.17 or up,
+ replication of <literal>CREATE TRIGGER</literal> statements
+ fails on the slave with a <literal>Definer not fully
+ qualified</literal> error. A workaround is to create triggers
+ on the master using a version-specific comment embedded in
+ each <literal>CREATE TRIGGER</literal> statement:
+ </para>
+
+<programlisting>
+CREATE /!50017 DEFINER = 'root'@'localhost' */ TRIGGER ... ;
+</programlisting>
+
+ <para>
+ <literal>CREATE TRIGGER</literal> statements written this way
+ will replicate to newer slaves, which pick up the
+ <literal>DEFINER</literal> clause from the comment and execute
+ successfully.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Replication is done correctly with
<literal>AUTO_INCREMENT</literal>,
<literal>LAST_INSERT_ID()</literal>, and
Modified: trunk/refman-common/news-5.0.xml
===================================================================
--- trunk/refman-common/news-5.0.xml 2006-01-11 18:35:54 UTC (rev 763)
+++ trunk/refman-common/news-5.0.xml 2006-01-11 18:36:23 UTC (rev 764)
@@ -539,6 +539,28 @@
access privileges to check at trigger invocation time. See
<xref linkend="create-trigger"/>, for more information.
</para>
+
+ <para>
+ <emphasis role="bold">Known issue</emphasis>: If you attempt
+ to replicate from a master server older than MySQL 5.0.17 to a
+ slave running MySQL 5.0.17 or up, replication of
+ <literal>CREATE TRIGGER</literal> statements fails on the
+ slave with a <literal>Definer not fully qualified</literal>
+ error. A workaround is to create triggers on the master using
+ a version-specific comment embedded in each <literal>CREATE
+ TRIGGER</literal> statement:
+ </para>
+
+<programlisting>
+CREATE /!50017 DEFINER = 'root'@'localhost' */ TRIGGER ... ;
+</programlisting>
+
+ <para>
+ <literal>CREATE TRIGGER</literal> statements written this way
+ will replicate to newer slaves, which pick up the
+ <literal>DEFINER</literal> clause from the comment and execute
+ successfully.
+ </para>
</listitem>
<listitem>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r764 - in trunk: . refman-5.0 refman-common | paul | 11 Jan |