请问,我在cmd命令下不支持建立type=bdb表类型,应当修改哪个配置文件?
如何修改,谢谢您好了,帮帮我吧.

解决方案 »

  1.   

    如果你要快点解决问题,请直接将mysqld-max-nt.exe或mysql-max.exe作为服务启动,那样就可以使用BerkeleyDB引擎。要在mysqld中使用Berkeley引擎,必须配置my.ini文件。以下从mysql 5.1参考手册中摘取,章节<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来禁止它。
      

  2.   

    补充一下,我的配置是Mysql 5.0.18,其中服务器程序有:
    mysqld-debug.exe
    mysqld-max-nt.exe
    mysqld-max.exe
    mysqld-nt.exe
    mysqld.exe其中只有mysqld-debug、mysqld-max-nt和mysqld-nt是支持BDB引擎的,而mysqld和mysqld-nt是不支持的。如果你在c:\windows\my.ini的[mysqld]下增加一行bdb,然后用标准模式运行mysqld的话,则会提示你错误。比如:my.ini的内容为:
    [mysqld]
    basedir=D:/Xampp/xampp/mysql
    datadir=D:/Xampp/xampp/mysql/data
    bdb #就加这个命令行下执行操作:mysqld --standalone,则会提示你。
    [Warning] this binary does not contain BDB storage engine
    而用mysqld-max-nt --standalone就不会,登录后用show engines,会提示
    mysql> show engines;
    +------------+---------
    | Engine     | Support
    +------------+---------
    | MyISAM     | DEFAULT
    | MEMORY     | YES
    | InnoDB     | YES
    | BerkeleyDB | YES
    | BLACKHOLE  | YES
    | EXAMPLE    | YES
    | ARCHIVE    | YES
    | CSV        | NO
    | ndbcluster | NO
    | FEDERATED  | YES
    | MRG_MYISAM | YES
    | ISAM       | NO
    +------------+---------可见只有mysqld-debug、mysqld-max-nt和mysqld-max支持BDB。不过,我不明白操作手册里为什么要说明mysqld可以支持BDB,还把参数都列出来了。后来才网上查了下才看到BDB被Oracle收购了,Mysql有抵制情绪,所以数据库底层不再直接支持BDB,转而采用了插件的形式。