From: jon Date: May 9 2008 3:11pm Subject: svn commit - mysqldoc@docsrva: r10702 - in trunk: it/refman-5.1 pt/refman-5.1 refman-5.1 refman-6.0 List-Archive: http://lists.mysql.com/commits/46570 Message-Id: <200805091511.m49FBBfg027733@docsrva.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Author: jstephens Date: 2008-05-09 17:11:11 +0200 (Fri, 09 May 2008) New Revision: 10702 Log: Replication of mysql database tables (see Bug #36118 - thanks, Mats and Jason!) Merged outstanding diffs to /it and /pt versions Misc minor fixes Modified: trunk/it/refman-5.1/replication-notes.xml trunk/pt/refman-5.1/replication-notes.xml trunk/refman-5.1/replication-notes.xml trunk/refman-6.0/replication-notes.xml Modified: trunk/it/refman-5.1/replication-notes.xml =================================================================== --- trunk/it/refman-5.1/replication-notes.xml 2008-05-09 02:25:51 UTC (rev 10701) +++ trunk/it/refman-5.1/replication-notes.xml 2008-05-09 15:11:11 UTC (rev 10702) Changed blocks: 4, Lines Added: 72, Lines Deleted: 29; 5222 bytes @@ -107,6 +107,14 @@ + An insert into an AUTO_INCREMENT column + caused by a stored routine or trigger running on a master that + uses MySQL 5.0.60 or earlier does not replicate correctly to a + slave running MySQL 5.1.12 through 5.1.23 (inclusive). (Bug + #33029) + + + Adding an AUTO_INCREMENT column to a table with ALTER TABLE might not produce the same ordering of the rows on the slave and the master. This occurs @@ -948,6 +956,39 @@ +
+ + Replication and <literal>LIMIT</literal> + + + Statement-based replication of LIMIT clauses + in DELETE, UPDATE, and + INSERT ... SELECT statements is unsafe since + the order of the rows affected is not defined. Beginning with + MySQL 5.1.24, when such a statement is encountered: + + + + + + when using STATEMENT mode, a warning + that the statement is not safe for statement-based + replication is now issued + + + + + + when using MIXED mode, the statement is + now automatically replicated using row-based mode + + + + + + +
+
Replication and <literal>LOAD DATA</literal> @@ -1033,37 +1074,39 @@ Replication of the System <literal>mysql</literal> Database - - For MySQL 5.1.14 and later, the mysql - database is not replicated. The mysql - database is instead seen as a node specific database. Row-based - replication is not supported on this table. Instead, statements - that would normally update this information (including - GRANT, REVOKE and the - manipulation of triggers, stored routines/procedures, and views) - are all replicated to slaves using Statement based replication. - + - - For MySQL 5.1.13 and earlier, user privileges are replicated - only if the mysql database is replicated. - That is, the GRANT, - REVOKE, SET PASSWORD, - CREATE USER, and DROP USER - statements take effect on the slave only if the replication - setup includes the mysql database. - + MySQL 5.1.14 and later - - If you're replicating all databases, but don't want statements - that affect user privileges to be replicated, set up the slave - to not replicate the mysql database, using - the - option. The slave will recognize that issuing privilege-related - SQL statements won't have an effect, and thus not execute those - statements. - + + Data modification statements made to tables in the + mysql database are replicated using the + row-based format. However, statements that would normally + update this information indirectly — such + GRANT, REVOKE, and + statements manipulating triggers, stored routines, and views + — are replicated to slaves using statement-based + replication. + + + + + + MySQL 5.1.13 and earlier + + + User privileges are replicated only if the + mysql database is replicated. That is, the + GRANT, REVOKE, + SET PASSWORD, CREATE + USER, and DROP USER statements + take effect on the slave only if the replication setup + includes the mysql database. + + + +
@@ -1557,7 +1600,7 @@
- Replication with Columns Having Different Data Types + Replication of Columns Having Different Data Types Corresponding columns on the master's and the Modified: trunk/pt/refman-5.1/replication-notes.xml =================================================================== --- trunk/pt/refman-5.1/replication-notes.xml 2008-05-09 02:25:51 UTC (rev 10701) +++ trunk/pt/refman-5.1/replication-notes.xml 2008-05-09 15:11:11 UTC (rev 10702) Changed blocks: 4, Lines Added: 72, Lines Deleted: 29; 5222 bytes @@ -107,6 +107,14 @@ + An insert into an AUTO_INCREMENT column + caused by a stored routine or trigger running on a master that + uses MySQL 5.0.60 or earlier does not replicate correctly to a + slave running MySQL 5.1.12 through 5.1.23 (inclusive). (Bug + #33029) + + + Adding an AUTO_INCREMENT column to a table with ALTER TABLE might not produce the same ordering of the rows on the slave and the master. This occurs @@ -948,6 +956,39 @@
+
+ + Replication and <literal>LIMIT</literal> + + + Statement-based replication of LIMIT clauses + in DELETE, UPDATE, and + INSERT ... SELECT statements is unsafe since + the order of the rows affected is not defined. Beginning with + MySQL 5.1.24, when such a statement is encountered: + + + + + + when using STATEMENT mode, a warning + that the statement is not safe for statement-based + replication is now issued + + + + + + when using MIXED mode, the statement is + now automatically replicated using row-based mode + + + + + + +
+
Replication and <literal>LOAD DATA</literal> @@ -1033,37 +1074,39 @@ Replication of the System <literal>mysql</literal> Database - - For MySQL 5.1.14 and later, the mysql - database is not replicated. The mysql - database is instead seen as a node specific database. Row-based - replication is not supported on this table. Instead, statements - that would normally update this information (including - GRANT, REVOKE and the - manipulation of triggers, stored routines/procedures, and views) - are all replicated to slaves using Statement based replication. - + - - For MySQL 5.1.13 and earlier, user privileges are replicated - only if the mysql database is replicated. - That is, the GRANT, - REVOKE, SET PASSWORD, - CREATE USER, and DROP USER - statements take effect on the slave only if the replication - setup includes the mysql database. - + MySQL 5.1.14 and later - - If you're replicating all databases, but don't want statements - that affect user privileges to be replicated, set up the slave - to not replicate the mysql database, using - the - option. The slave will recognize that issuing privilege-related - SQL statements won't have an effect, and thus not execute those - statements. - + + Data modification statements made to tables in the + mysql database are replicated using the + row-based format. However, statements that would normally + update this information indirectly — such + GRANT, REVOKE, and + statements manipulating triggers, stored routines, and views + — are replicated to slaves using statement-based + replication. + + + + + + MySQL 5.1.13 and earlier + + + User privileges are replicated only if the + mysql database is replicated. That is, the + GRANT, REVOKE, + SET PASSWORD, CREATE + USER, and DROP USER statements + take effect on the slave only if the replication setup + includes the mysql database. + + + +
@@ -1557,7 +1600,7 @@
- Replication with Columns Having Different Data Types + Replication of Columns Having Different Data Types Corresponding columns on the master's and the Modified: trunk/refman-5.1/replication-notes.xml =================================================================== --- trunk/refman-5.1/replication-notes.xml 2008-05-09 02:25:51 UTC (rev 10701) +++ trunk/refman-5.1/replication-notes.xml 2008-05-09 15:11:11 UTC (rev 10702) Changed blocks: 2, Lines Added: 31, Lines Deleted: 29; 3455 bytes @@ -1074,37 +1074,39 @@ Replication of the System <literal>mysql</literal> Database - - For MySQL 5.1.14 and later, the mysql - database is not replicated. The mysql - database is instead seen as a node specific database. Row-based - replication is not supported on this table. Instead, statements - that would normally update this information (including - GRANT, REVOKE and the - manipulation of triggers, stored routines/procedures, and views) - are all replicated to slaves using Statement based replication. - + - - For MySQL 5.1.13 and earlier, user privileges are replicated - only if the mysql database is replicated. - That is, the GRANT, - REVOKE, SET PASSWORD, - CREATE USER, and DROP USER - statements take effect on the slave only if the replication - setup includes the mysql database. - + MySQL 5.1.14 and later - - If you're replicating all databases, but don't want statements - that affect user privileges to be replicated, set up the slave - to not replicate the mysql database, using - the - option. The slave will recognize that issuing privilege-related - SQL statements won't have an effect, and thus not execute those - statements. - + + Data modification statements made to tables in the + mysql database are replicated using the + row-based format. However, statements that would normally + update this information indirectly — such + GRANT, REVOKE, and + statements manipulating triggers, stored routines, and views + — are replicated to slaves using statement-based + replication. + + + + + + MySQL 5.1.13 and earlier + + + User privileges are replicated only if the + mysql database is replicated. That is, the + GRANT, REVOKE, + SET PASSWORD, CREATE + USER, and DROP USER statements + take effect on the slave only if the replication setup + includes the mysql database. + + + +
@@ -1598,7 +1600,7 @@
- Replication with Columns Having Different Data Types + Replication of Columns Having Different Data Types Corresponding columns on the master's and the Modified: trunk/refman-6.0/replication-notes.xml =================================================================== --- trunk/refman-6.0/replication-notes.xml 2008-05-09 02:25:51 UTC (rev 10701) +++ trunk/refman-6.0/replication-notes.xml 2008-05-09 15:11:11 UTC (rev 10702) Changed blocks: 2, Lines Added: 9, Lines Deleted: 19; 2247 bytes @@ -1043,26 +1043,16 @@ Replication of the System <literal>mysql</literal> Database - The mysql database is not replicated. The - mysql database is instead seen as a node - specific database. Row-based replication is not supported on - this table. Instead, statements that would normally update this - information (including GRANT, - REVOKE and the manipulation of triggers, - stored routines/procedures, and views) are all replicated to - slaves using Statement based replication. + Data modification statements made to tables in the + mysql database are replicated using the + row-based format. However, statements that would normally update + this information indirectly — such + GRANT, REVOKE, and + statements manipulating triggers, stored routines, and views + — are replicated to slaves using statement-based + replication. - - If you're replicating all databases, but don't want statements - that affect user privileges to be replicated, set up the slave - to not replicate the mysql database, using - the - option. The slave will recognize that issuing privilege-related - SQL statements won't have an effect, and thus not execute those - statements. - -
@@ -1556,7 +1546,7 @@
- Replication with Columns Having Different Data Types + Replication of Columns Having Different Data Types Corresponding columns on the master's and the