The maximum number of locks (1000 by default) you can have active on a
The maximum number of locks (10,000 by default) you can have active on a
BDB table. You should increase this if you get errors of type @code{bdb:
BDB table. You should increase this if you get errors of type @code{bdb:
Lock table is out of available locks} or @code{Got error 12 from ...}
Lock table is out of available locks} or @code{Got error 12 from ...}
when you have do long transactions or when @code{mysqld} has to examine
when you have do long transactions or when @code{mysqld} has to examine
...
@@ -20030,15 +20048,15 @@ The maximum length of the word to be included in a @code{FULLTEXT} index.
...
@@ -20030,15 +20048,15 @@ The maximum length of the word to be included in a @code{FULLTEXT} index.
@strong{Note: @code{FULLTEXT} indexes must be rebuilt after changing
@strong{Note: @code{FULLTEXT} indexes must be rebuilt after changing
this variable.} (This option is new for MySQL 4.0.)
this variable.} (This option is new for MySQL 4.0.)
@item @code{ft_max_word_len_sort}
@item @code{ft_max_word_len_for_sort}
The maximum length of the word in a @code{FULLTEXT} index
The maximum length of the word in a @code{FULLTEXT} index
to be used in fast index recreation method in @code{REPAIR},
to be used in fast index recreation method in @code{REPAIR},
@code{CREATE INDEX}, or @code{ALTER TABLE}. Longer words are inserted the
@code{CREATE INDEX}, or @code{ALTER TABLE}. Longer words are inserted the
slow way. The rule of the thumb is as follows: with
slow way. The rule of the thumb is as follows: with
@code{ft_max_word_len_sort} increasing, @strong{MySQL} will create bigger
@code{ft_max_word_len_for_sort} increasing, @strong{MySQL} will create bigger
temporary files (thus slowing the process down, due to disk I/O), and will put
temporary files (thus slowing the process down, due to disk I/O), and will put
fewer keys in one sort block (again, decreasing the efficiency). When
fewer keys in one sort block (again, decreasing the efficiency). When
@code{ft_max_word_len_sort} is too small, instead, @strong{MySQL} will insert a
@code{ft_max_word_len_for_sort} is too small, instead, @strong{MySQL} will insert a
lot of words into index the slow way, but short words will be inserted very
lot of words into index the slow way, but short words will be inserted very
quickly.
quickly.
...
@@ -23324,7 +23342,7 @@ If you need better performance when you start using MySQL in a production
...
@@ -23324,7 +23342,7 @@ If you need better performance when you start using MySQL in a production
environment, you can remove the @code{--log} option from @code{mysql.server}
environment, you can remove the @code{--log} option from @code{mysql.server}
or change it to @code{--log-bin}. @xref{Binary log}.
or change it to @code{--log-bin}. @xref{Binary log}.
The entries in this log are written as @code{mysqld} receives the queries.
The entries in this log are written as @code{mysqld} receives the questions.
This may be different from the order in which the statements are executed.
This may be different from the order in which the statements are executed.
This is in contrast to the update log and the binary log which are written
This is in contrast to the update log and the binary log which are written
after the query is executed, but before any locks are released.
after the query is executed, but before any locks are released.
...
@@ -23337,7 +23355,7 @@ after the query is executed, but before any locks are released.
...
@@ -23337,7 +23355,7 @@ after the query is executed, but before any locks are released.
@cindex files, update log
@cindex files, update log
@strong{Note}: the update log is replaced by the binary
@strong{Note}: the update log is replaced by the binary
log. @xref{Binary log}. You can do anything with the binary log that you can do
log. @xref{Binary log}. With this you can do anything that you can do
with the update log.
with the update log.
When started with the @code{--log-update[=file_name]} option,
When started with the @code{--log-update[=file_name]} option,
...
@@ -23352,7 +23370,7 @@ flush-logs}, execute the @code{FLUSH LOGS} statement, or restart the server.
...
@@ -23352,7 +23370,7 @@ flush-logs}, execute the @code{FLUSH LOGS} statement, or restart the server.
@strong{Note}: for the above scheme to work, you must not create
@strong{Note}: for the above scheme to work, you must not create
your own files with the same filename as the update log + some extensions
your own files with the same filename as the update log + some extensions
that may be regarded as a number in the directory used by the update log!
that may be regarded as a number, in the directory used by the update log!
If you use the @code{--log} or @code{-l} options, @code{mysqld} writes a
If you use the @code{--log} or @code{-l} options, @code{mysqld} writes a
general log with a filename of @file{hostname.log}, and restarts and
general log with a filename of @file{hostname.log}, and restarts and
...
@@ -23396,8 +23414,8 @@ and the crash.
...
@@ -23396,8 +23414,8 @@ and the crash.
@cindex binary log
@cindex binary log
@cindex files, binary log
@cindex files, binary log
The binary log will replace the now deprecated update log, so
The intention is that the binary log should replace the update log, so
we recommend you to switch to this log format as soon as possible.
we recommend you to switch to this log format as soon as possible!
The binary log contains all information that is available in the update
The binary log contains all information that is available in the update
log in a more efficient format. It also contains information about how long
log in a more efficient format. It also contains information about how long
...
@@ -23408,10 +23426,10 @@ find a problem query) you should use the general query log. @xref{Query log}.
...
@@ -23408,10 +23426,10 @@ find a problem query) you should use the general query log. @xref{Query log}.
The binary log is also used when you are replicating a slave from a master.
The binary log is also used when you are replicating a slave from a master.
@xref{Replication}.
@xref{Replication}.
When started with the @code{--log-bin[=file_name]} option @code{mysqld}
When started with the @code{--log-bin[=file_name]} option, @code{mysqld}
writes a log file containing all SQL commands that update data. If no
writes a log file containing all SQL commands that update data. If no
file name is given it defaults to the name of the host machine followed
file name is given, it defaults to the name of the host machine followed
by @code{-bin}. If a file name is given, but doesn't contain a path, the
by @code{-bin}. If file name is given, but it doesn't contain a path, the
file is written in the data directory.
file is written in the data directory.
If you supply an extension to @code{--log-bin=filename.extension}, the
If you supply an extension to @code{--log-bin=filename.extension}, the
...
@@ -23431,9 +23449,14 @@ to the binary log:
...
@@ -23431,9 +23449,14 @@ to the binary log:
@multitable @columnfractions .38 .62
@multitable @columnfractions .38 .62
@item @strong{Option} @tab @strong{Description}
@item @strong{Option} @tab @strong{Description}
@item @code{binlog-do-db=database_name} @tab Tells the master it should log updates for the specified database, and exclude all others not explicitly mentioned. (Example: @code{binlog-do-db=some_database})
@item @code{binlog-do-db=database_name} @tab
Tells the master it should log updates for the specified database, and
exclude all others not explicitly mentioned.
(Example: @code{binlog-do-db=some_database})
@item @code{binlog-ignore-db=database_name} @tab Tells the master that updates to the given database should not be logged to the binary log (Example: @code{binlog-ignore-db=some_database})
@item @code{binlog-ignore-db=database_name} @tab
Tells the master that updates to the given database should not be logged
to the binary log (Example: @code{binlog-ignore-db=some_database})
@end multitable
@end multitable
To be able to know which different binary log files have been used,
To be able to know which different binary log files have been used,