下列对mysqld的选项可被用来改变BDB存储引擎的行为:
· --bdb-home=path
BDB表的基础目录。这应该和你为--datadir使用的目录相同。
· --bdb-lock-detect=method
BDB 锁定检测方式。选项值应该为DEFAULT, OLDEST, RANDOM或YOUNGEST。
· --bdb-logdir=path
BDB日志文件目录。
· --bdb-no-recover
不在恢复模式启动Berkeley DB。
· --bdb-no-sync
不同步刷新BDB日志。这个选项不被赞成,取而代之地使用--skip-sync-bdb-logs(请参阅对--sync-bdb-logs的描述)。
· --bdb-shared-data
以多处理模式启动Berkeley DB。(初始化Berkeley DB之时,不要使用DB_PRIVATE)。
· --bdb-tmpdir=path
BDB临时文件目录。
· --skip-bdb
禁止BDB存储引擎。
· --sync-bdb-logs
同步刷新BDB日志。这个选项默认被允许,请使用--skip-sync-bdb-logs来禁止它。
如果你使用--skip-bdb选项,MySQL不初始化Berkeley DB库,而且这样节省大量的内存。尽管如此,如果你使用这个选项,你不能使用BDB表。如果你试着创建一个BDB表,MySQL取而代之地创建一个MyISAM。
通常,如果你象使用BDB表,你应该不用--bdb-no-recover选项启动mysqld。可是,如果BDB日志被破坏则当你试着启动mysqld时,上述办法启动服务器可能导致问题。请参阅2.9.2.3节,“MySQL服务器的启动和故障诊断排除”。
使用bdb_max_lock 变量,你可以指定在BDB表上被激活的锁定的最大数目。默认值是10,000。当你执行长事务或当mysqld不得不检查许多行来执行一个查询之时,如果发生如下错误,你应该增加这个数目:
bdb: Lock table is out of available locks
Got error 12 from ...
如果你正使用大型多语句事务,你可能也想改变binlog_cache_size和max_binlog_cache_size变量。请参阅5.11.3节,“二进制日志”。
也请参阅5.3.3节,“服务器系统变量”。