1、下载RPM包,笔者是在64位系统下安装,所以选择了64位的RPM包。
cd /usr/local/
wget "https://www.infobright.org/downloads/ice/infobright-4.0.7-0-x86_64-ice.rpm"
2、RPM包安装infobright
rpm -ivh infobright-4.0.7-0-x86_64-ice.rpm --prefix=/usr/local/
3、完成后续配置工作
cd /usr/local/infobright
./postconfig.sh
下来会提示注册infobright,选择不注册即可
Infobright post configuration
--------------------------------------
Infobright server activated.
--------------------------------------
Register your copy of ICE and receive a free copy of the User Manual (a $50 value) as well as a copy of the Bloor Research Spotlight Report "What's Cool About Columns" which explains the differences and benefits of a columnar versus row database.
Registration will require opening an HTTP connection to Infobright, do you wish to register now? [Y/N]: n
4、初始化数据
cd /usr/local/infobright/scripts/
./mysql_install_db --user=root --basedir=/usr/local/infobright --datadir=/usr/local/infobright/data --force
chown mysql.mysql -R /usr/local/infobright-4.0.7-x86_64/
5、启动infobright
/etc/init.d/mysqld-ib start
6、进入infobright
mysql-ib -u root
7、infobright 配置文件
vi /usr/local/infobright/data/brighthouse.ini
ServerMainHeapSize为IB所使用内存的最大值(不包括bh_loader),如果是专用DB服务器,可适当调大,保证在业务最高峰,系统swap交换不高即可。
LoaderMainHeapSize由于是列式存储,IB需要将多行数据各列数据组合后写入数据块,如果导入表的列数很多,字段很长,将该值调高,加快导入速率(导入前set autocommit=0,完成后commit+复原,可大幅提高导入效率)。
ControlMessages 为IB错误日志记录类型,实验环境设为4有利于排错,成熟的生产环境设为2或3即可。
KNFolder 为知识网格所在目录,通常情况下大小都很小,直接放在data目录下即可。
根据自身的物理内存大小修改ServerMainHeapSize、ServerCompressedHeapSize、LoaderMainHeapSize的值,有参考:
############ Critical Memory Settings ############ #
System Memory Server Main Heap Size Server Compressed Heap Size Loader Main Heap Size #
32GB 24000 4000 800 #
16GB 10000 1000 800 #
8GB 4000 500 800 #
4GB 1300 400 400 #
2GB 600 250 320
8.infobright 建数据库
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8;
9. infobright建表
mysql> CREATE TABLE `calloge` (
-> `id` int(11) NOT NULL,
-> `name` varchar(8) DEFAULT NULL,
-> `sex` tinyint(1) DEFAULT NULL,
-> `age` tinyint(4) DEFAULT NULL,
-> `address` varchar(16) DEFAULT NULL,
-> `inserttime` int(10) DEFAULT NULL
-> ) ENGINE=BRIGHTHOUSE DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.06 sec)
10. infobirght 添加用户
给数据库test添加新用户aa 密码123456 ,用户ip(220.125.02.36)加入数据库白名单。
给数据库添加新用户时需要给用户赋file权限,才能进行数据导入。
GRANT INSERT,CREATE,SELECT ON test.* TO 'aa'@'220.125.02.36' IDENTIFIED BY '123456';
grant FILE on *.* to 'aa'@'220.125.02.36';
11.infobirght 导入数据
load data infile '/tmp/students.txt' into table calloge fields terminated by ',' lines terminated by '\n';
导入数据时要注意必须数据库,表和数据文件的字符集保持一致。不然导入文件会报错。所以在建立数据库和表时,最好一起规定好表和数据库的字符集。
12.将数据导出至文件:
select * from calloge into outfile '/tmp/news.txt' fields terminated by ',' enclosed by '"' lines terminated by '\n';
13.从远程mysql 备份数据到本地
mysql -utest -ptest -h192.168.32.87 -P3308 -e "SELECT account,siteName,advertiserName,incomeMoney,createDate FROM ifm_cps.AD_DAY_SUM WHERE createDate = '20130425'" > /tmp/urfile