15.5.3 BDB启动选项

下列对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来禁止它。

请参阅5.3.1节,“mysqld命令行选项”

如果你使用--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节,“服务器系统变量”

关注编程学问公众号