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”.