Below is an explanation of what is supported and what is not:
Below is an explanation of what is supported and what is not:
...
@@ -25708,7 +25723,16 @@ Replication will be done correctly with @code{AUTO_INCREMENT},
...
@@ -25708,7 +25723,16 @@ Replication will be done correctly with @code{AUTO_INCREMENT},
still resides on the master server at the time of update
still resides on the master server at the time of update
propagation. @code{LOAD LOCAL DATA INFILE} will be skipped.
propagation. @code{LOAD LOCAL DATA INFILE} will be skipped.
@item
@item
Update queries that use user variables are not replication-safe (yet).
The master and slave is not synchronizing @code{RAND()}. This means
that you should not use @code{RAND()} with any statement that updates a
table. As fixing this will require a change in the protocol, we will
delay fixing this until 4.0. A workaround is using @code{RAND(#)}, where
# is a random integer genearated by your application or by first
executing @code{LAST_INSERT_ID(RAND())} and then using
@code{LAST_INSERT_ID()} in the next statement.
@item
Update queries that use user variables (@code{@@variable}) are not yet
replication-safe.
@item
@item
Temporary tables starting in 3.23.29 are replicated properly with the
Temporary tables starting in 3.23.29 are replicated properly with the
exception of the case when you shut down slave server ( not just slave thread),
exception of the case when you shut down slave server ( not just slave thread),
...
@@ -25723,6 +25747,12 @@ In earlier versions temporary tables are not being replicated properly - we
...
@@ -25723,6 +25747,12 @@ In earlier versions temporary tables are not being replicated properly - we
recommend that you either upgrade, or execute @code{SET SQL_LOG_BIN=0} on
recommend that you either upgrade, or execute @code{SET SQL_LOG_BIN=0} on
your clients before all queries with temp tables.
your clients before all queries with temp tables.
@item
@item
@strong{MySQL} only supports one master and many slaves. We will in 4.x
add a voting algorithm to automaticly change master if something goes
wrong with the current master. We will also introduce 'agent' processes
to help doing load balancing by sending select queries to different
slaves.
@item
Starting in Version 3.23.26, it is safe to connect servers in a circular
Starting in Version 3.23.26, it is safe to connect servers in a circular
master-slave relationship with @code{log-slave-updates} enabled.
master-slave relationship with @code{log-slave-updates} enabled.
Note, however, that many queries will not work right in this kind of
Note, however, that many queries will not work right in this kind of
...
@@ -25733,9 +25763,10 @@ so that pre-3.23.26 slaves will not be able to read it.
...
@@ -25733,9 +25763,10 @@ so that pre-3.23.26 slaves will not be able to read it.
@item
@item
If the query on the slave gets an error, the slave thread will
If the query on the slave gets an error, the slave thread will
terminate, and a message will appear in the @code{.err} file. You should
terminate, and a message will appear in the @code{.err} file. You should
then connect to the slave manually, fix the cause of the error
then connect to the slave manually, fix the cause of the error (for
(for example, non-existent table), and then run @code{SLAVE START} sql command (available starting in Version 3.23.16). In Version 3.23.15, you will have
example, non-existent table), and then run @code{SLAVE START} sql
to restart the server.
command (available starting in Version 3.23.16). In Version 3.23.15, you
will have to restart the server.
@item
@item
If connection to the master is lost, the slave will retry immediately,
If connection to the master is lost, the slave will retry immediately,
and then in case of failure every @code{master-connect-retry} (default
and then in case of failure every @code{master-connect-retry} (default
...
@@ -28520,6 +28551,7 @@ Most of the options to @code{safe_mysqld} are the same as the options to
...
@@ -28520,6 +28551,7 @@ Most of the options to @code{safe_mysqld} are the same as the options to
@table @code
@table @code
@item --basedir=path
@item --basedir=path
@item --core-file-size=#
@item --core-file-size=#
Size of the core file @code{mysqld} should be able to create. Passed to @code{ulimit -c}.
@item --datadir=path
@item --datadir=path
@item --defaults-extra-file=path
@item --defaults-extra-file=path
@item --defaults-file=path
@item --defaults-file=path
...
@@ -28530,10 +28562,8 @@ Path to @code{mysqld}
...
@@ -28530,10 +28562,8 @@ Path to @code{mysqld}
@item --mysqld=mysqld-version
@item --mysqld=mysqld-version
Name of the mysqld version in the @code{ledir} directory you want to start.
Name of the mysqld version in the @code{ledir} directory you want to start.
@item --no-defaults
@item --no-defaults
@item --open-files=#
@item --open-files-limit=#
Number of files @code{mysqld} should be able to open. Passed to @code{ulimit -n}.
Number of files @code{mysqld} should be able to open. Passed to @code{ulimit -n}. Not that you need to start @code{safe_mysqld} as root for this to work properly!
@item --open-files=#
Size of the core file @code{mysqld} should be able to create. Passed to @code{ulimit -c}.
@item --pid-file=path
@item --pid-file=path
@item --port=#
@item --port=#
@item --socket=path
@item --socket=path
...
@@ -33499,9 +33529,12 @@ number 256 to affect the number of file descriptors available to
...
@@ -33499,9 +33529,12 @@ number 256 to affect the number of file descriptors available to
@code{ulimit} (and @code{open-files-limit}) can increase the number of
@code{ulimit} (and @code{open-files-limit}) can increase the number of
file descriptors, but only up to the limit imposed by the operating
file descriptors, but only up to the limit imposed by the operating
system. If you need to increase the OS limit on the number of file
system. There is also a 'hard' limit that can only be overrided if you
descriptors available to each process, consult the documentation for
start @code{safe_mysqld} or @code{mysqld} as root (Just remember that
your operating system.
you need to also use the @code{--user=..} option in this case). If you
need to increase the OS limit on the number of file descriptors
available to each process, consult the documentation for your operating
system.
Note that if you run the @code{tcsh} shell, @code{ulimit} will not work!
Note that if you run the @code{tcsh} shell, @code{ulimit} will not work!
@code{tcsh} will also report incorrect values when you ask for the current
@code{tcsh} will also report incorrect values when you ask for the current
...
@@ -40253,6 +40286,9 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
...
@@ -40253,6 +40286,9 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet
@itemize @bullet
@item
@item
Added @code{ORDER BY} syntax to @code{UPDATE} and @code{DELETE}.
Added @code{ORDER BY} syntax to @code{UPDATE} and @code{DELETE}.
@item
Added @code{SELECT .. WITH UPDATE} and @code{SELECT ... IN SHARE MODE} to
get more locking options.
@end itemize
@end itemize
@node News-3.23.x, News-3.22.x, News-4.0.x, News
@node News-3.23.x, News-3.22.x, News-4.0.x, News
...
@@ -40310,6 +40346,14 @@ though, so Version 3.23 is not released as a stable version yet.
...
@@ -40310,6 +40346,14 @@ though, so Version 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.31
@appendixsubsec Changes in release 3.23.31
@itemize @bullet
@itemize @bullet
@item
@item
Fixed security bug in something (please upgrade if you are using a earlier
MySQL 3.23 version).
@item
Fixed buffer overflow bug when writing a certain error message.
@item
Added usage of @code{getrlimit()} on Linux to get @code{-O --open-files-limit=#}
to work on Linux.
@item
Fixed bug when using expression of type
Fixed bug when using expression of type
@code{SELECT ... FROM t1 left join t2 on (t1.a=t2.a) WHERE t1.a=t2.a}. In this
@code{SELECT ... FROM t1 left join t2 on (t1.a=t2.a) WHERE t1.a=t2.a}. In this
case the test in the @code{WHERE} clause was wrongly optimized away.
case the test in the @code{WHERE} clause was wrongly optimized away.
...
@@ -45126,8 +45170,7 @@ The @code{mysqld} will support all standard @strong{MySQL} features and
...
@@ -45126,8 +45170,7 @@ The @code{mysqld} will support all standard @strong{MySQL} features and
one can use it in a threaded client to run different queries in each
one can use it in a threaded client to run different queries in each
thread.
thread.
@item
@item
@code{SHOW DATABASES} should only show the database which you have some kind
Replication should work with @code{RAND()}.
of access privilege to.
@item
@item
Online backup with very low performance penalty. The online backup will
Online backup with very low performance penalty. The online backup will
make it easy to add a new replication slave without taking down the
make it easy to add a new replication slave without taking down the