infobright创建表时指定存储目录无效的解决方法

    infobright是一个基于MySQL数据库的列存储数据库,有收费版和免费版。

 

    在使用infobright创建表时,如果存储引擎为BRIGHTHOUSE,那么指定DATA DIRECTORY='/data/myib' 是无效的——但如果存储引擎为MyISAM,DATA DIRECTORY有效。不知道是不是因为使用免费版的缘故。

 

    举例:

    1. 存储引擎为BRIGHTHOUSE:

 

可以看到使用show create table查看建表SQL时,DATA DIRECTORY未出现,而且/data/myib/下也没有e.MYD

 

    2. 存储引擎为MyISAM:

 

此时/data/myib/下有f.MYD这个文件

 

 

解决方法:

    有如下两种方法:

    1. 修改infobright的配置文件

    通过修改infobright的配置文件来实现,但这会影响到这个数据库实例的其它数据库的存储目录。

    修改配置文件的datadir选项,如下:

停止数据库实例,移动/usr/local/infobright/data下的所有文件和目录到/data/myib下即可

 

    2. 在datadir下创建符号链接

    这个方式是目录操作,只会影响要改动的数据库。

    如果我们要把名为‘probe’的数据库的存储目录改为/data/myib,执行下列shell命令即可:

    #移动原数据库目录到新目录下

    mv /usr/local/infobright/data/probe/ /data/myib/

    #在datadir下创建到新存储目录的符号链接

    ln -s /data/myib/probe/ /usr/local/infobright/data/probe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章