安装 infobright 遇到了不少的问题,总结一下。
1、先是要求装 boost 1.4.2 以上。
原来机器上老的boost库版本是 1.3.3
2、装完 boost。还不能立马使用。需要重新登录。
3、在编译 infobright 的过程中。遇到了 leaf() 找不到的情况。
这是由于 boost 库 v3 版中, leaf()被做为要弃用的方法了。用 path().filename().string() 来替代。
4、在编译在最后 link 的时候,不能成功 link 。这是由于 /etc/ld.so.conf 中的配置,没有将 /usr/local/lib/ 放在比较靠前的位置。而老的 boost 库在 /usr/lib/ 下面。调整了一下位置,解决。
5、安装完成之后。启动不了。说找不到共享库文件。 通过 ln -s /usr/local/lib/libboost_xxxx.so.xxx /usr/lib64/libboost_xxxx.so.xxx 才解决。
ln -s /usr/local/lib/libboost_filesystem.so.1.47.0 /lib64/libboost_filesystem.so.1.47.0
ln -s /usr/local/lib/libboost_program_options.so.1.47.0 /lib64/libboost_program_options.so.1.47.0
ln -s /usr/local/lib/libboost_regex.so.1.47.0 /lib64/libboost_regex.so.1.47.0
ln -s /usr/local/lib/libboost_thread.so.1.47.0 /lib64/libboost_thread.so.1.47.0
ln -s /usr/local/lib/libboost_system.so.1.47.0 /lib64/libboost_system.so.1.47.0
6、安装完成,配置好 cnf 文件,开始启动,失败说
110903 1:03:25 [ERROR] Can't find messagefile '/usr/local/dm/infobright/share/mysql/english/errmsg.sys'
/usr/local/dm/libexec/mysqld: Unknown error 1146
110903 1:03:25 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110903 1:03:25 [ERROR] Unable to load configuration
110903 1:03:25 [ERROR] ERROR: The configuration file brighthouse.ini not found
110903 1:03:25 [ERROR] Plugin 'BRIGHTHOUSE' init function returned error.
110903 1:03:25 [ERROR] Plugin 'BRIGHTHOUSE' registration as a STORAGE ENGINE failed.
110903 1:03:25 [ERROR] Aborting
找了一下,'/usr/local/dm/infobright/share/mysql/english/errmsg.sys' 这个文件是在的,想起来,以前安装 mysql 时的经验,可能是 mysql 用户无法访问这个目录。把其用户改成 mysql ,解决。
余下的问题,通过 mysql_install_db 解决。
7、再次启动,遇到如下错误。
110903 1:10:13 [ERROR] Brighthouse: Can not access cache folder /usr/local/dm/cache.
110903 1:10:13 [ERROR] Plugin 'BRIGHTHOUSE' init function returned error.
110903 1:10:13 [ERROR] Plugin 'BRIGHTHOUSE' registration as a STORAGE ENGINE failed.
110903 1:10:13 [ERROR] Unknown/unsupported table type: brighthouse
110903 1:10:13 [ERROR] Aborting
也是由于权限问题,改为 mysql 用户。
chown mysql.mysql -R /usr/local/dm/cache
搞定,启动成功。