14.5.3. BDB Startup Options
The following options to mysqld can be used
to change the behavior of the BDB storage
engine. For more information, see
Section 5.2.1, “mysqld Command Options”.
-
--bdb-data-direct
Turn off system buffering of BDB database
files to avoid double caching. This option was added in
MySQL 5.1.4.
-
--bdb-home=path
The base directory for BDB tables. This
should be the same directory that you use for
--datadir.
-
--bdb-lock-detect=method
The BDB lock detection method. The option
value should be DEFAULT,
OLDEST, RANDOM,
YOUNGEST, MAXLOCKS,
MINLOCKS, MAXWRITE, or
MINWRITE.
-
--bdb-log-direct
Turn off system buffering of BDB log
files to avoid double caching. This option was added in
MySQL 5.1.4.
-
--bdb-logdir=file_name
The BDB log file directory.
-
--bdb-no-recover
Do not start Berkeley DB in recover mode.
-
--bdb-no-sync
Don't synchronously flush the BDB logs.
This option is deprecated; use
--skip-sync-bdb-logs instead (see the
description for --sync-bdb-logs).
-
--bdb-shared-data
Start Berkeley DB in multi-process mode. (Do not use
DB_PRIVATE when initializing Berkeley
DB.)
-
--bdb-tmpdir=path
The BDB temporary file directory.
-
--skip-bdb
Disable the BDB storage engine.
-
--sync-bdb-logs
Synchronously flush the BDB logs. This
option is enabled by default. Use
--skip-sync-bdb-logs to disable it.
If you use the --skip-bdb option, MySQL does
not initialize the Berkeley DB library and this saves a lot of
memory. However, if you use this option, you cannot use
BDB tables. If you try to create a
BDB table, MySQL uses the default storage
engine instead.
Normally, you should start mysqld without the
--bdb-no-recover option if you intend to use
BDB tables. However, this may cause problems
when you try to start mysqld if the
BDB log files are corrupted. See
Section 2.9.2.3, “Starting and Troubleshooting the MySQL Server”.
With the bdb_max_lock variable, you can
specify the maximum number of locks that can be active on a
BDB table. The default is 10,000. You should
increase this if errors such as the following occur when you
perform long transactions or when mysqld has
to examine many rows to execute a query:
bdb: Lock table is out of available locks
Got error 12 from ...
You may also want to change the
binlog_cache_size and
max_binlog_cache_size variables if you are
using large multiple-statement transactions. See
Section 5.11.4, “The Binary Log”.
See also Section 5.2.2, “Server System Variables”.